Ответ 1
Отображение предупреждения является вариантом дизайна. В С# это вызовет ошибку при вызове static с использованием ключевого слова instance (this
).
Проблема в том, что вы должны вызвать объект, чтобы правильно описать, что это такое.
Более полезная информация на MSDN.
Доступ к элементу Shared через переменную экземпляра может усложнить понимание вашего кода, скрывая тот факт, что этот элемент является Shared.
(...)
Чтобы исправить эту ошибку
Для доступа к нему используйте имя класса или структуры, которая определяет член Shared, как показано в следующем примере.
Public Class testClass Public Shared Sub sayHello() MsgBox("Hello") End Sub End Class Module testModule Public Sub Main() ' Access a shared method through an instance variable. ' This generates a warning. Dim tc As New testClass tc.sayHello() ' Access a shared method by using the class name. ' This does not generate a warning. testClass.sayHello() End Sub End Module