ПОНЯТНО О 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)
а не как положено:
        Рисуем_крестик(Графика_для_метки)

Содержание  Назад  Вперед