Поделиться через


ObfuscationAttribute.StripAfterObfuscation Свойство

Определение

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

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

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

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

Примеры

В следующем примере кода показан объект , ObfuscationAttribute свойство которого StripAfterObfuscation имеет значение false , чтобы средство обфускации не лишалось атрибута после обфускации. Необходимо указать false для Exclude свойства , чтобы избежать исключения MethodA из маскировки, так как по умолчанию для Exclude свойства используется trueзначение .

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

Комментарии

Атрибуты не должны быть удалены, если библиотека будет включена как часть другого приложения, и маскироваться как часть этого приложения.

Важно!

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

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