ObfuscationAttribute.Exclude Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece un valor Boolean que indica si la herramienta de ofuscación debe excluir de ofuscación el tipo o el miembro.
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 propiedad
true
si el tipo o el miembro al que se aplica este atributo debe quedar excluido de ofuscación; en caso contrario, false
. De manera predeterminada, es true
.
Ejemplos
En el ejemplo de código siguiente se muestra un tipo marcado para excluirse de ofuscación. No es necesario especificar la Exclude propiedad , ya que tiene true
como valor predeterminado , pero especificarla explícitamente hace que la intención sea clara. ApplyToMembers se establece false
en , de modo que la exclusión de ofuscación no se aplica a los miembros de la clase . Es decir, el nombre de clase es visible, pero los miembros están ofuscados.
El MethodA
método se marca con el valor "default"
de la Feature propiedad . Es necesario especificar false
para la Exclude propiedad para evitar la exclusión MethodA
de ofuscación, ya que el valor predeterminado de la Exclude propiedad es true
. La StripAfterObfuscation propiedad es false
para que la herramienta de ofuscación no quite el atributo después de ofuscación.
Este código forma parte de un ejemplo más grande que se puede compilar y ejecutar. Vea la descripción de la clase 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
Comentarios
Importante
La aplicación de este atributo no ofusca automáticamente la entidad de código a la que se aplica. Aplicar el atributo es una alternativa a la creación de un archivo de configuración para la herramienta de ofuscación. Es decir, simplemente proporciona instrucciones para una herramienta de ofuscación. Microsoft recomienda que los proveedores de herramientas de ofuscación sigan la semántica que se describe aquí. Sin embargo, no hay ninguna garantía de que una herramienta determinada siga las recomendaciones de Microsoft.