ObfuscationAttribute.Exclude Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define um valor Boolean 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 da propriedade
true
se o tipo ou membro ao qual esse atributo é aplicado deve ser excluído da ofuscação; caso contrário, false
. O padrão é true
.
Exemplos
O exemplo de código a seguir mostra um tipo marcado para ser excluído da ofuscação. Não é necessário especificar a Exclude propriedade, pois ela usa como padrão true
, mas especificá-la explicitamente deixa clara sua intenção. O ApplyToMembers é definido como , para false
que a exclusão de ofuscação não se aplique aos membros da classe . Ou seja, o nome da classe é visível, mas os membros estão ofuscados.
O MethodA
método é marcado com o valor "default"
da Feature propriedade . É necessário especificar false
para a Exclude propriedade para evitar a exclusão MethodA
de ofuscação, pois o padrão para a Exclude propriedade é true
. A StripAfterObfuscation propriedade é false
para que a ferramenta ofuscação não remova o atributo após ofuscação.
Esse código faz parte de um exemplo maior que pode ser compilado e executado. Consulte a classe 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
Comentários
Importante
A aplicação desse atributo não ofusca automaticamente a entidade de código à qual você a aplica. A aplicação do atributo é uma alternativa à criação de um arquivo de configuração para a ferramenta de ofuscação. Ou seja, ele apenas fornece instruções para uma ferramenta de ofuscação. A Microsoft recomenda que os fornecedores de ferramentas de ofuscação sigam a semântica descrita aqui. No entanto, não há garantia de que uma ferramenta específica siga as recomendações da Microsoft.