2010-11-25 6 views
0

Ich mache Code-Generierung, Erstellen eines benutzerdefinierten Attributs zum Dekorieren einer Klasse mit CodeDOM, C# und VB Ziel. Zu diesem Zweck erstelle ich eine Instanz der CodeAttributeDeclaration-Klasse.Was ist die AttributeType-Eigenschaft, die in der CodeDOM-Klasse CodeAttributeDeclaration verwendet wird?

Ich setze derzeit sowohl die AttributeType-Eigenschaft als auch den Name, aber es scheint nicht verwendet zu werden. Stattdessen wird nur die Name-Eigenschaft verwendet, um die Attributdeklaration zu erstellen.

Fehle ich etwas? Wofür wird diese Eigenschaft verwendet?

Antwort

2

Es ist eine Alternative (ich glaube, CodeDOM nicht für eine Weile getan) - Sie können die Attributdeklaration entweder mit einem Namen oder einem Typ definieren. Wenn beide gesetzt sind, wird (scheinbar) der Name verwendet. Ein Blick auf die Überlastungen für die constructor dieses Typs gibt einige Hinweise darauf. Wenn man in reflector sieht, stellt das Setzen des Namens immer den AttributType als CodeTypeReference auf den gleichen Namen ein, und die Konstruktoren, die den TypeReference verwenden, setzen immer auch den Namen - es kann also nicht einmal gesetzt werden statt der anderen.

Verwandte Themen