ПОНЯТНО О Visual Basic NET (том 2)

Соответствие объектных типов


Все, что сказано в предыдущем подразделе о соответствии типов, полностью относится и к тому случаю, когда эти типы объектные.

При попытке ввести в окно кода следующий код

        Dim A As Graphics

        A = Label1

VB подчеркнет ошибку и подскажет:

Value of type 'System.Windows.Forms.Label' cannot be converted to 'System.Drawing.Graphics'

Переводится подсказка так:

«Значение типа Label  не может быть преобразовано в тип Graphics».

Действительно, мы объявили переменную A объектным типом Graphics, а сами присвоили ей значение хоть и объектного типа Label, но не имеющего никакого отношения к графике. «Не садись не в свои сани».

Точно такая же подсказка, но уже по поводу параметров, появится, если мы к процедуре из 11.5.2:

Sub Рисуем_крестик(ByVal Гр As Graphics)

        Гр.DrawLine(Pens.Blue, 100, 110, 120, 110)

        Гр.DrawLine(Pens.Blue, 110, 100, 110, 120)

End Sub

обратимся с глупой ошибкой:

        Рисуем_крестик(Label1)

а не как положено:

        Рисуем_крестик(Графика_для_метки)



Содержание раздела