VB.NET: imposible usar el método de extensión en la instancia de System.Object
¿Puedo hacer un método de extensión para todas las subclases deSystem.Object
(todo)?
Ejemplo:
<Extension>
Public Function MyExtension(value As Object) As Object
Return value
End Function
Las funciones anteriores no funcionarán para la instancia de objeto:
Dim myObj1 As New Object()
Dim myObj2 = myObj1.MyExtension()
El compilador no lo acepta, ¿es el problema en mi computadora? :)
ACTUALIZAR
El problema parece ocurrir solo en VB, donde los miembros del objeto se buscan por reflexión (atrasado)
ACTUALIZACIÓN DESPUÉS DE RESPONDER
Para su información, como vb tiene una ventaja de la que C # carece, es decir, los miembros de módulos importados se importan al ámbito global, por lo que aún puede usar estas funciones sin su contenedor:
Dim myObj2 = MyExtension(myObj1)