ObfuscationAttribute.Exclude Свойство

Определение

Возвращает или задает значение Boolean, указывающее, должно ли средство запутывания исключить тип или член из операции запутывания.

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

Значение свойства

Boolean

Значение true, если тип или член, к которому применяется этот атрибут, должен быть исключен из операции запутывания; в обратном случае — значение false. Значение по умолчанию — true.

Примеры

В следующем примере кода показан тип, помеченный как исключенный из маскировки. Не обязательно указывать Exclude свойство, так как по умолчанию оно имеет trueзначение, но явное указание делает намерение понятным. Задано ApplyToMembers значение false, чтобы исключение из маскировки не применялось к членам класса. То есть имя класса видно, но члены скрываются.

Метод MethodA помечается значением "default" Feature свойства. Чтобы избежать исключения MethodA из маскировки, необходимо указать false свойствоExclude, так как для Exclude свойства используется trueзначение по умолчанию. Свойство заключается в StripAfterObfuscation том false , что средство маскации не будет удалять атрибут после маскировки.

Этот код является частью более крупного примера, который можно скомпилировать и выполнить. См. класс 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

Комментарии

Важно!

Применение этого атрибута не автоматически скрывает сущность кода, к которой вы применяете его. Применение атрибута является альтернативой созданию файла конфигурации для средства маскирования. То есть он просто предоставляет инструкции для средства маскировки. Корпорация Майкрософт рекомендует поставщикам средств маскирования следовать семантике, описанной здесь. Однако нет никакой гарантии того, что определенный инструмент следует рекомендациям Майкрософт.

Применяется к