ObfuscationAttribute.Exclude Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Recebe ou define um Boolean valor que indica se a ferramenta de ofuscação deve excluir o tipo ou membro da ofuscação.
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
Valor de Propriedade
true se o tipo ou membro a que este atributo é aplicado deve ser excluído da ofuscação; caso contrário, false. A predefinição é true.
Exemplos
O seguinte exemplo de código mostra um tipo que está marcado para ser excluído da ofuscação. Não é necessário especificar a Exclude propriedade, porque por defeito é true, mas especificá-la explicitamente deixa clara a sua intenção. O ApplyToMembers é definido como false, de modo que a exclusão da ofuscação não se aplique aos membros da classe. Ou seja, o nome da classe é visível, mas os membros são obscurecidos.
O MethodA método é marcado com o valor "default" da Feature propriedade. É necessário especificar false para a Exclude propriedade para evitar exclusão MethodA da ofuscação, porque o padrão para a Exclude propriedade é true. A StripAfterObfuscation propriedade é false que a ferramenta de ofuscação não retire o atributo após a ofuscação.
Este código faz parte de um exemplo maior que pode ser compilado e executado. Veja a aula 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
Observações
Importante
Aplicar este atributo não ofusca automaticamente a entidade de código a que o aplica. Aplicar o atributo é uma alternativa à criação de um ficheiro de configuração para a ferramenta de ofuscação. Ou seja, fornece apenas instruções para uma ferramenta de ofuscação. A Microsoft recomenda que os fornecedores de ferramentas de ofuscação sigam a semântica aqui descrita. No entanto, não há garantia de que uma determinada ferramenta siga as recomendações da Microsoft.