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


11.5.8. Параметры методов - часть 2


Overload resolution failed because no accessible 'DrawLine' can be called with these arguments:

    'Public Overloads Sub DrawLine(pen As System.Drawing.Pen, x1 As Integer, y1 As Integer, x2 As Integer, y2 As Integer)': Value of type 'System.Drawing.Brush' cannot be converted to 'System.Drawing.Pen'.

    'Public Overloads Sub DrawLine(pen As System.Drawing.Pen, x1 As Single, y1 As Single, x2 As Single, y2 As Single)': Value of type 'System.Drawing.Brush' cannot be converted to 'System.Drawing.Pen'.

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

«Ошибка произошла потому, что ни один из вариантов процедуры DrawLine не может быть вызван с такими аргументами (параметрами):

В варианте процедуры 'Public Overloads Sub DrawLine(pen As System.Drawing.Pen, x1 As Integer, y1 As Integer, x2 As Integer, y2 As Integer)'  значение типа 'System.Drawing.Brush'  не может быть преобразовано в 'System.Drawing.Pen'.

В варианте процедуры  'Public Overloads Sub DrawLine(pen As System.Drawing.Pen, x1 As Single, y1 As Single, x2 As Single, y2 As Single)'  значение типа 'System.Drawing.Brush'  не может быть преобразовано в 'System.Drawing.Pen'.»

Мне кажется, здесь все ясно. Мы ошибочно попытались написать в обращении первым параметром Brushes.Red. Но VB выдал ошибку, поскольку тип свойства Red  класса Brushes есть Brush, а для первого параметра требуется Pen.

Аналогичное сообщение вы получите для третьей строки.




Начало  Назад  Вперед



Книжный магазин