Ausschließen von Typen
Mit dieser Option wird ein Typ nach dem Namen oder Attributspezifizierer ausgeschlossen. Bei der Angabe des Typnamens können Sie einen regulären Ausdruck verwenden.
Typnamen müssen voll gekennzeichnete Namen sein.
Innere (geschachtelte) Klassen werden mit einem "/" als Trennzeichen zwischen der äußeren und der inneren Klasse angegeben. Beispiel:
<type name="Library.Class1/NestedClass"/>
Über das speclist-Attribut werden Attributspezifizierer ausgewählt bzw. wird deren Auswahl aufgehoben. Bei dem speclist-Attribut handelt es sich um eine durch Trennzeichen getrennte Liste gültiger Attributspezifizierer für Typen. Die folgenden Werte sind zulässig:
abstract interface nestedassembly nestedfamily nestedfamorassem nestedprivate nestedpublic notpublic public sealed serializable enum
Bei einem dem Attributspezifizierer vorangestellten "-" wird die Regel nicht angewendet, d. h. es werden alle Klassen ausgeschlossen, die das angegebene Attribut nicht aufweisen. Ein "+" kann angegeben werden, ist aber nicht erforderlich. Die Regeln, die dieser Liste zugrunde liegen, sind mit einem logischen AND miteinander verknüpft, d. h. die Menge der ausgeschlossenen Typen ist die Schnittmenge aller Typen, auf die die einzelnen Regeln zutreffen. Die folgende Regel schließt beispielsweise alle Typen aus, die public AND sealed sind.
<type name=”.*” speclist=”+public,+sealed” regex=”true”/>
Das <type>-Element kann außerdem dazu verwendet werden, nur einen Typ auszuwählen und für diesen Regeln zum Ausschluss enthaltener Felder und Methoden anzugeben. Dies ermöglicht die Umbenennung von Typennamen bei gleichzeitiger Beibehaltung der Membernamen. Zu diesem Zweck wird das optionale excludetype-Attribut verwendet. Wenn dies nicht angegeben ist, wird der Standardwert true verwendet, d. h. der Typenname wird ausgeschlossen.
<type name="MyCo.Test.MyOtherTest" excludetype="false"> <!-- methods and fields excluded here --> ... </type>
Wenn ein <type>-Element keine geschachtelten Feld- oder Methodenelemente enthält, werden keine Methoden und keine Felder für den Ausschluss ausgewählt. Dies ermöglicht die Beibehaltung von Typennamen bei gleichzeitiger Umbenennung der Membernamen.
Eigenschaften- und Ereignisnamen in ausgeschlossenen Typen werden ebenfalls beibehalten. (Beachten Sie, dass Dotfuscator Eigenschaften- und Ereignisnamen entfernt, wenn ein Typ nicht ausgeschlossen und die library-Option nicht festgelegt ist.)
© 2002-2007 PreEmptive Solutions. Alle Rechte vorbehalten.