MethodBase.IsSecurityCritical Propriété

Définition

Obtient une valeur qui indique si la méthode ou le constructeur actuel est critique de sécurité (security-critical) ou critique sécurisé (security-safe-critical) au niveau de confiance actuel et peut par conséquent exécuter des opérations critiques.

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é

Boolean

true si la méthode ou le constructeur actuel est critique de sécurité ou critique sécurisé au niveau de confiance actuel ; false si la méthode ou le constructeur est transparent de sécurité (security-transparent).

Remarques

Les IsSecurityCritical IsSecuritySafeCritical Propriétés, et IsSecurityTransparent signalent le niveau de transparence de la méthode ou du constructeur à son niveau de confiance actuel, tel que déterminé par le Common Language Runtime (CLR). Les combinaisons de ces propriétés sont présentées dans le tableau suivant :

Niveau de sécurité EstCritiqueDeSécurité EstCritiqueSécurisé EstTransparentDeSécurité
Critique true false false
Coffre critique true true false
Mode transparent false false true

L’utilisation de ces propriétés est bien plus simple que l’examen des annotations de sécurité d’un assembly et de ses types et membres, de la vérification du niveau de confiance actuel et de la tentative de duplication des règles du Runtime.

Important

Pour les assemblys de confiance partielle, la valeur de cette propriété dépend du niveau de confiance actuel de l’assembly. Si l’assembly est chargé dans un domaine d’application de confiance partielle (par exemple, dans un domaine d’application sandbox), le runtime ignore les annotations de sécurité de l’assembly. L’assembly et tous ses types sont traités comme étant 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 de confiance totale (par exemple, dans le domaine d’application par défaut d’une application de bureau). En revanche, un assembly approuvé (autrement dit, un assembly avec nom fort qui est installé dans le Global Assembly Cache) est toujours chargé avec la confiance totale quel que soit le niveau de confiance du domaine d’application. son niveau de confiance actuel est donc toujours entièrement approuvé. Vous pouvez déterminer les niveaux de confiance actuels des assemblys et des domaines d’application à l’aide des Assembly.IsFullyTrusted AppDomain.IsFullyTrusted Propriétés et.

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

S’applique à

Voir aussi