ObfuscationAttribute.Exclude Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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 false
wartość , 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.