Partager via


MethodBase.IsSecuritySafeCritical Propriété

Définition

Obtient une valeur qui indique si la méthode ou le constructeur actuel est critique sécurisé au niveau de confiance actuel ; autrement dit, si la méthode ou le constructeur peut exécuter des opérations critiques et être accessible par du code transparent.

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

Valeur de propriété

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

Remarques

Les IsSecurityCriticalpropriétés , IsSecuritySafeCriticalet IsSecurityTransparent indiquent le niveau de transparence de la méthode ou du constructeur à son niveau d’approbation 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é EstCritiqueDeSécurité EstCritiqueSécurisé EstTransparentDeSécurité
Critique true false false
Critique sécurisée true true false
Mode transparent false false true

L’utilisation de ces propriétés est beaucoup plus simple que l’examen des annotations de sécurité d’un assembly et de ses types et membres, la vérification du niveau d’approbation actuel et la tentative 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 sandbox), le runtime ignore les annotations de sécurité de l’assembly. L’assembly et tous ses types sont traités comme transparents. Le runtime accorde une attention particulière 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é (c’est-à-dire un assembly à nom fort installé dans le global assembly cache) est toujours chargé avec une confiance totale, quel que soit le niveau d’approbation du domaine d’application, de sorte que son niveau d’approbation 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 Assembly.IsFullyTrusted propriétés et AppDomain.IsFullyTrusted .

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

S’applique à

Voir aussi