Основы VB.NET Урок 44. Функция CType и наследование
Одно из применений функции CType, рассмотренной в уроке 35 - это преобразование из родительского класса в дочерний. Это может оказаться нужным, например, для вызова метода дочернего класса для переменной, имеющий тип родительского класса. Вот пример:
Class A
Public Function f1()
Console.WriteLine("f1")
End Function
End Class
'Класс B - потомок класса A.
Class B
Inherits A
Public Function f2()
Console.WriteLine("f2")
End Function
End Class
'Тестируем.
Module Module1
Sub Main()
'Переменная q имеет тип A.
Dim q As A
'Записываем в q новый экземпляр класса B.
q = New B()
'Вызываем метод f2 из дочернего класса.
CType(q, B).f2()
End Sub
End Module
Для вызова метода f2 из дочернего класса мы обязательно должны сделать преобразоваие типов. Вариант
...
q.f2() 'Ошибка!
...
использовать нельзя - компилятор выдаст ошибку.
|