FieldInfo.IsSecurityCritical Propriété

Définition

Obtient une valeur qui indique si le champ actuel est critique pour la sécurité ou la sécurité critique au niveau de confiance actuel.

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

Valeur de propriété

true si le champ actuel est critique pour la sécurité ou la sécurité critique au niveau de confiance actuel ; false s’il est transparent.

Remarques

Les IsSecurityCriticalpropriétés et IsSecurityTransparent les IsSecuritySafeCriticalpropriétés signalent le niveau de transparence du champ au niveau de confiance actuel, tel que déterminé par le Common Language Runtime (CLR). Les combinaisons de ces propriétés sont indiquées dans le tableau suivant :

Niveau de sécurité EstCritiquePourLaSécurité IsSecuritySafeCritical IsSecurityTransparent
Essentiel true false false
Sécurité critique true true false
Transparent false false true

L’utilisation de ces propriétés est beaucoup plus simple que d’examiner les annotations de sécurité d’un assembly et de ses types et membres, de vérifier le niveau d’approbation actuel et de tenter de dupliquer les règles du runtime.

Important

Pour les assemblys d’approbation partielle, la valeur de cette propriété dépend du niveau d’approbation actuel de l’assembly. Si l’assembly est chargé dans un domaine d’application partiellement approuvé (par exemple, dans un domaine d’application en bac à sable), le runtime ignore les annotations de sécurité de l’assembly. L’assembly et tous ses types sont traités comme transparents. Le runtime fait attention aux annotations de sécurité d’un assembly de confiance partielle uniquement lorsque cet assembly est chargé dans un domaine d’application entièrement approuvé (par exemple, dans le domaine d’application par défaut d’une application de bureau). En revanche, un assembly approuvé (autrement dit, un assembly fort nommé installé dans le Global Assembly Cache) est toujours chargé avec une confiance totale, quel que soit le niveau de confiance du domaine d’application, de sorte que son niveau de confiance actuel est toujours entièrement approuvé. Vous pouvez déterminer les niveaux d’approbation actuels des assemblys et des domaines d’application à l’aide des propriétés et AppDomain.IsFullyTrusted des Assembly.IsFullyTrusted propriétés.

Pour plus d’informations sur la réflexion et la transparence, consultez Considérations relatives à la sécurité pour la réflexion. Pour plus d’informations sur la transparence, consultez Modifications de sécurité.

S’applique à

Voir aussi