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
Комментарии
Важно!
Применение этого атрибута не приводит к автоматическому запутыванию сущности кода, к которой он применяется. Применение атрибута является альтернативой созданию файла конфигурации для средства маскирования. То есть он просто предоставляет инструкции для средства маскации. Корпорация Майкрософт рекомендует поставщикам средств маскирования следовать описанной здесь семантике. Однако нет никакой гарантии, что конкретное средство будет соответствовать рекомендациям Майкрософт.