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%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:
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%Tags und Links c# reflection custom-attributes properties