Type.IsSecurityCritical Propiedad

Definición

Obtiene un valor que indica si el tipo actual es crítico para la seguridad o crítico para la seguridad y disponible desde código transparente en el nivel de confianza actual y, por tanto, puede realizar operaciones críticas.

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

Valor de propiedad

true si el tipo actual es crítico para la seguridad o crítico para la seguridad en el nivel de confianza actual; false si es transparente.

Comentarios

Las IsSecurityCriticalpropiedades , IsSecuritySafeCriticaly IsSecurityTransparent informan del nivel de transparencia del tipo 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

Usar estas propiedades es mucho más fácil que examinar las anotaciones de seguridad de un ensamblado y sus tipos, comprobar el nivel de confianza actual e intentar duplicar las reglas del runtime.

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