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