Compartir vía


FieldInfo.IsSecuritySafeCritical Propiedad

Definición

Obtiene un valor que indica si el campo actual es crítico para la seguridad y disponible desde código transparente en el nivel de confianza actual.

public:
 virtual property bool IsSecuritySafeCritical { bool get(); };
public virtual bool IsSecuritySafeCritical { get; }
member this.IsSecuritySafeCritical : bool
Public Overridable ReadOnly Property IsSecuritySafeCritical As Boolean

Valor de propiedad

true si el campo actual es crítico para la seguridad y disponible desde código transparente en el nivel de confianza actual; false si es crítico para la seguridad o transparente.

Comentarios

Las IsSecurityCriticalpropiedades , IsSecuritySafeCriticaly IsSecurityTransparent informan del nivel de transparencia del campo en su nivel de confianza actual, según lo determinado por Common Language Runtime (CLR). Las combinaciones de estas propiedades se muestran en la tabla siguiente:

Nivel de seguridad IsSecurityCritical IsSecuritySafeCritical IsSecurityTransparent
Crítico true false false
Crítico para la seguridad true true false
Transparente false false true

El uso de estas propiedades es mucho más sencillo que examinar las anotaciones de seguridad de un ensamblado y sus tipos y miembros, comprobar el nivel de confianza actual e intentar duplicar las reglas del tiempo de ejecución.

Importante

En el caso de los ensamblados de confianza parcial, el valor de esta propiedad depende del nivel de confianza actual del ensamblado. Si el ensamblado se carga en un dominio de aplicación de confianza parcial (por ejemplo, en un dominio de aplicación de espacio aislado), el tiempo de ejecución omite las anotaciones de seguridad del ensamblado. El ensamblado y todos sus tipos se tratan como transparentes. El tiempo de ejecución presta atención a las anotaciones de seguridad de un ensamblado de confianza parcial solo cuando ese ensamblado se carga en un dominio de aplicación de plena confianza (por ejemplo, en el dominio de aplicación predeterminado de una aplicación de escritorio). Por el contrario, un ensamblado de confianza (es decir, un ensamblado con nombre seguro instalado en la caché global de ensamblados) siempre se carga con plena confianza, independientemente del nivel de confianza del dominio de aplicación, por lo que su nivel de confianza actual siempre es de plena confianza. Puede determinar los niveles de confianza actuales de ensamblados y dominios de aplicación mediante las Assembly.IsFullyTrusted propiedades y AppDomain.IsFullyTrusted .

Para obtener más información sobre la reflexión y la transparencia, vea Consideraciones de seguridad para la reflexión. Para obtener información sobre la transparencia, consulte Cambios de seguridad.

Se aplica a

Consulte también