| 

.NET C# Java Javascript Exception

3
Im Code unten wird die Klasse Command dynamisch mit einer Action initialisiert. Diese Action verweist auf eine Methode, die per Attribut beschrieben wird. Ich kann jedoch auf dieses Attribut in der Command-Klasse nicht zugreifen.

FRAGE: wie kann ich DescriptionAttribute in der Command.DisplayName lesen?

Module Module1
Sub Main()
For Each cmd In CommandProvider.GetCommands()
Console.WriteLine(cmd.DisplayName)
Next
End Sub
End Module

Module CommandProvider
Function GetCommands() As List(Of Command)
Return New List(Of Command) From {
New Command(AddressOf Test),
New Command(AddressOf Test2)
}
End Function

<Description("Test database connectivity")>
Sub Test()
End Sub

<Description("Check database version")>
Sub Test2()
End Sub
End Module

Class Command
Sub New(action As Action)
Me.CommandAction = action
End Sub

ReadOnly Property DisplayName As String
Get
Dim att As DescriptionAttribute =
Attribute.GetCustomAttribute(Me.CommandAction.GetType, GetType(DescriptionAttribute))
Return att.DisplayName
End Get
End Property

Property CommandAction As Action

End Class

<AttributeUsage(AttributeTargets.Method)>
Class DescriptionAttribute
Inherits Attribute

Sub New(displayName As String)
Me.DisplayName = displayName
End Sub

Property DisplayName As String
End Class
News:
26.05.2014
KolobokPunk 33 5
1 Antwort
1
Ich habs!

Dim description As DescriptionAttribute =
Attribute.GetCustomAttribute(Me.CommandAction.Method, GetType(DescriptionAttribute))
26.05.2014
KolobokPunk 33 5

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH