ObfuscationAttribute.Exclude Propriedade

Definição

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.

Aplica-se a