Erhalte Attributwerte aus Eigenschaften- und Listenwerten, ohne den Attributtyp zu kennen

8

Ich möchte den Attributnamen übergeben und den Wert zurückgeben. Dies wird in einem generischen util sein und es wird den Attributtyp nicht kennen.

Aktualisieren Dies ist der tatsächliche Arbeitscode, wenn jemand dies tun muss. Ich brauchte einen Weg, um den Kerncode die Attribute analysieren zu lassen, ohne zu wissen, was sie waren.

%Vor%     
Steve Coleman 25.10.2012, 19:52
quelle

2 Antworten

5

Wenn Sie meinen, dass "ein Attribut angegeben wird, das einen Parameter akzeptiert, geben Sie mir diesen Wert", zum Beispiel:

%Vor%

Dann ist dies am einfachsten in .NET 4.5, über die neue CustomAttributeData API:

%Vor%     
Marc Gravell 25.10.2012, 20:05
quelle
0

Wie Mark sagte, Attribute haben keine Werte, per se . Sie könnten jedoch eine Schnittstelle mit einer Value-Eigenschaft erstellen, die Sie für jedes Ihrer benutzerdefinierten Attribute implementieren. Dann müssen Sie nur überprüfen, ob das Attribut Ihre Schnittstelle implementiert und dann den Wert erhalten.

Beispiel:

%Vor%     
Steve Konves 25.10.2012 20:04
quelle