Exclusion de types
Cette option exclut un type en fonction de son nom ou de son spécificateur d'attribut. Vous pouvez utiliser une expression régulière pour désigner le nom du type.
Les noms des types doivent être des noms qualifiés complets.
Les classes internes (imbriquées) sont spécifiées à l'aide du délimiteur « / » entre les classes internes et externes. Par exemple :
<type name="Library.Class1/NestedClass"/>
Les spécificateurs d'attribut sont sélectionnés ou désélectionnés avec l'attribut « speclist ». L'attribut « speclist » est une liste de spécificateurs d'attributs conformes pour les types, séparés par des virgules. Les valeurs conformes sont :
abstract
interface
nestedassembly
nestedfamily
nestedfamorassem
nestedprivate
nestedpublic
notpublic
public
sealed
serializable
enum
Le signe « - » précédant un spécificateur d'attribut inverse la règle (c'est-à-dire qu'il exclut toutes les classes qui ne possèdent pas l'attribut spécifié). Le signe « + » peut être spécifié, mais n'est pas obligatoire. Les règles impliquées dans cette liste font l'objet d'un ET logique entre elles (c'est-à-dire que l'ensemble des types exclus est l'intersection de tous les types correspondant à chaque règle). Par exemple, la règle suivante exclut tout type qui serait public ET sealed.
<type name=”.*” speclist=”+public,+sealed” regex=”true”/>
L'élément <type> peut également être utilisé simplement pour sélectionner un type afin d'y intégrer des règles pour l'exclusion de champs et de méthodes. Cela permet de renommer les types, tout en conservant le nom des membres. L'attribut facultatif « excludetype » est utilisé à cette fin. S'il n'est pas spécifié, la valeur par défaut est « true », ce qui signifie que le nom du type est exclu.
<type name="MyCo.Test.MyOtherTest" excludetype="false">
<!-- methods and fields excluded here -->
...
</type>
Si un élément <type> ne contient pas d'éléments de champ ou de méthode imbriqués, aucune méthode et aucun champ ne sont sélectionnés pour l'exclusion. Cela permet de conserver les noms de types, tout en autorisant l'attribution d'un nouveau nom aux membres.
Les noms de propriétés et d'événements des types exclus sont également conservés. Rappelez-vous que si un type n'est pas exclu et que l'option Bibliothèque n'est pas définie, Dotfuscator supprime les noms de propriétés et d'événements.
© 2002-2007 PreEmptive Solutions. Tous droits réservés.