Condividi tramite


ObfuscationAttribute.Exclude Proprietà

Definizione

Ottiene o imposta un valore Boolean che indica se lo strumento di offuscamento deve escludere il tipo o il membro dall'offuscamento.

public:
 property bool Exclude { bool get(); void set(bool value); };
public bool Exclude { get; set; }
member this.Exclude : bool with get, set
Public Property Exclude As Boolean

Valore della proprietà

true se il tipo o il membro a cui viene applicato l'attributo deve essere escluso dall'offuscamento; in caso contrario, false. Il valore predefinito è true.

Esempio

Nell'esempio di codice seguente viene illustrato un tipo contrassegnato come escluso dall'offuscamento. Non è necessario specificare la Exclude proprietà, perché viene impostata per impostazione predefinita su true, ma specificandola in modo esplicito rende chiara la finalità. L'oggetto ApplyToMembers è impostato su false, in modo che l'esclusione dall'offuscamento non venga applicata ai membri della classe. Vale a dire, il nome della classe è visibile, ma i membri sono offuscati.

Il MethodA metodo è contrassegnato con il valore "default" per la Feature proprietà. È necessario specificare false per la Exclude proprietà per evitare di escludere MethodA dall'offuscamento, perché l'impostazione predefinita per la Exclude proprietà è true. La StripAfterObfuscation proprietà è false in modo che lo strumento di offuscamento non striperà l'attributo dopo l'offuscamento.

Questo codice fa parte di un esempio più grande che può essere compilato ed eseguito. Vedere la classe ObfuscationAttribute.

[ObfuscationAttribute(Exclude=true, ApplyToMembers=false)]
public class Type2
{

    // The exclusion of the type is not applied to its members,
    // however in order to mark the member with the "default"
    // feature it is necessary to specify Exclude=false,
    // because the default value of Exclude is true. The tool
    // should not strip this attribute after obfuscation.
    [ObfuscationAttribute(Exclude=false, Feature="default",
        StripAfterObfuscation=false)]
    public void MethodA() {}

    // This member is marked for obfuscation, because the
    // exclusion of the type is not applied to its members.
    public void MethodB() {}
}
<ObfuscationAttribute(Exclude:=True, ApplyToMembers:=False)> _
Public Class Type2

    ' The exclusion of the type is not applied to its members,
    ' however in order to mark the member with the "default" 
    ' feature it is necessary to specify Exclude:=False,
    ' because the default value of Exclude is True. The tool
    ' should not strip this attribute after obfuscation.
    <ObfuscationAttribute(Exclude:=False, _
        Feature:="default", StripAfterObfuscation:=False)> _
    Public Sub MethodA()
    End Sub

    ' This member is marked for obfuscation, because the 
    ' exclusion of the type is not applied to its members.
    Public Sub MethodB()
    End Sub

End Class

Commenti

Importante

L'applicazione di questo attributo non offusca automaticamente l'entità di codice a cui viene applicata. L'applicazione dell'attributo è un'alternativa alla creazione di un file di configurazione per lo strumento di offuscamento. Ciò significa che fornisce semplicemente istruzioni per uno strumento di offuscamento. Microsoft consiglia ai fornitori di strumenti di offuscamento di seguire la semantica descritta qui. Tuttavia, non vi è alcuna garanzia che uno strumento specifico segue raccomandazioni Microsoft.

Si applica a