Type.IsSecuritySafeCritical Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient une valeur qui indique si le type actuel est critique sécurisé au niveau de confiance actuel, autrement dit s'il 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 le type actuel est critique sécurisé pour la sécurité au niveau de confiance actuel ; false
si elle est critique pour la sécurité ou transparente.
Remarques
Les IsSecurityCriticalpropriétés , IsSecuritySafeCriticalet IsSecurityTransparent indiquent le niveau de transparence du type à 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 |
Critique fiable | true |
true |
false |
Mode 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 ses types, de vérifier le niveau de confiance actuel et de tenter de dupliquer les règles du runtime.
Important
Pour les assemblys de confiance 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 prête 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é (c’est-à-dire un assembly avec nom fort 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 de confiance 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 relatives à la sécurité pour la réflexion. Pour plus d’informations sur la transparence, consultez Modifications de sécurité.