Udostępnij za pośrednictwem


ObfuscationAttribute.Exclude Właściwość

Definicja

Pobiera lub ustawia wartość wskazującą Boolean , czy narzędzie zaciemniania powinno wykluczyć typ lub element członkowski z zaciemniania.

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

Wartość właściwości

true jeśli typ lub element członkowski, do którego zastosowano ten atrybut, należy wykluczyć z zaciemnienia; w przeciwnym razie , false. Wartość domyślna to true.

Przykłady

Poniższy przykład kodu przedstawia typ oznaczony jako wykluczony z zaciemnienia. Nie jest konieczne określenie Exclude właściwości, ponieważ domyślnie jest ustawiona wartość true, ale jawne określenie jej powoduje, że intencja jest jasna. Parametr ApplyToMembers jest ustawiony na falsewartość , dzięki czemu wykluczenie z zaciemnienia nie ma zastosowania do składowych klasy. Oznacza to, że nazwa klasy jest widoczna, ale składowe są zaciemnione.

Metoda MethodA jest oznaczona wartością "default"Feature właściwości . Należy określić false właściwość Exclude w celu uniknięcia wykluczenia MethodA z zaciemnienia, ponieważ wartość domyślna Exclude dla właściwości to true. Właściwość StripAfterObfuscation jest false tak, aby narzędzie zaciemniania nie usuwało atrybutu po zaciemnianiu.

Ten kod jest częścią większego przykładu, który można skompilować i wykonać. Zobacz klasę 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

Uwagi

Ważne

Zastosowanie tego atrybutu nie powoduje automatycznego zaciemniania jednostki kodu, do której jest on stosowany. Zastosowanie atrybutu jest alternatywą dla tworzenia pliku konfiguracji dla narzędzia zaciemniania. Oznacza to, że jedynie udostępnia instrukcje dotyczące narzędzia zaciemniania. Firma Microsoft zaleca, aby dostawcy narzędzi zaciemniających postępowali zgodnie z semantykami opisanymi tutaj. Nie ma jednak gwarancji, że określone narzędzie jest zgodne z zaleceniami firmy Microsoft.

Dotyczy