VB.NET: невозможно использовать метод Extension в экземпляре System.Object
Могу ли я сделать метод расширения для всех подклассовSystem.Object
(все)?
Пример:
<Extension>
Public Function MyExtension(value As Object) As Object
Return value
End Function
Вышеуказанные функции не будут работать для экземпляра объекта:
Dim myObj1 As New Object()
Dim myObj2 = myObj1.MyExtension()
Компилятор не принимает это, проблема в моем компьютере? :)
ОБНОВИТЬ
Кажется, проблема возникает только в VB, где члены объекта ищутся с помощью отражения (позднее связывание).
ОБНОВЛЕНИЕ ПОСЛЕ ОТВЕТА
К вашему сведению, поскольку у vb есть преимущество, которого нет в C #, то есть члены импортированных модулей импортируются в глобальную область, поэтому вы все равно можете использовать эти функции без их оболочки:
Dim myObj2 = MyExtension(myObj1)