Partilhar via


ObfuscationAttribute.Exclude Propriedade

Definição

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 falseque 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.

Aplica-se a