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

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

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

Примеры

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

Метод MethodA помечен значением "default" свойства Feature . Необходимо указать false для Exclude свойства , чтобы избежать исключения MethodA из маскировки, так как по умолчанию для 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

Комментарии

Важно!

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

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