Estoy tratando de crear un delegado (como prueba) para:¿Cómo creo un delegado para una propiedad .NET?
Public Overridable ReadOnly Property PropertyName() As String
Mi intento intuitiva estaba declarando el delegado de esta manera:
Public Delegate Function Test() As String
y crear instancias de la siguiente manera:
Dim t As Test = AddressOf e.PropertyName
Pero esto arroja el error:
Method 'Public Overridable ReadOnly Property PropertyName() As String' does not have a signature compatible with delegate 'Delegate Function Test() As String'.
Así pues estaba tratando con una propiedad He intentado esto:
Public Delegate Property Test() As String
Pero esto arroja un error de compilación.
Entonces la pregunta es, ¿cómo hago un delegado para una propiedad?
ver este enlace:
http://peisker.net/dotnet/propertydelegates.htm
Gracias - Estoy atascado en .NET 2.0 para un proyecto en cuestión y veré si algo similar funciona y comentarios aquí (de lo contrario podría ser la razón por la que surgió la solución elaborada con la que vinculé) –
Parece que funciona (no ha probado extensamente) pero me pregunto si puedes ayudar con este problema. Necesito obtener la propiedad sin usar una cadena codificada. El problema es que necesito el PropertyInfo para obtener el método get y no puedo obtenerlo de la propiedad addressOf –
También gracias por el enfoque PropertyInfo :-) –