MethodBase.IsSecurityCritical Propriedade

Definição

Obtém um valor que indica se o método ou construtor atual é crítico para segurança ou para segurança ao nível de confiança atual, podendo assim realizar operações 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 Propriedade

true se o método ou construtor atual for crítico para segurança ou para segurança ao nível de confiança atual; false Se for transparente.

Observações

As IsSecurityCriticalpropriedades , IsSecuritySafeCritical, e IsSecurityTransparent reportam o nível de transparência do método ou construtor no seu nível de confiança atual, conforme determinado pelo tempo de execução da linguagem comum (CLR). As combinações destas propriedades são apresentadas na tabela seguinte:

Nível de segurança ÉCríticoParaSegurança IsSecuritySafeCritical IsSecurityTransparent
Crítico true false false
Segurança crítica true true false
Transparent false false true

Usar estas propriedades é muito mais simples do que examinar as anotações de segurança de um assembly e dos seus tipos e membros, verificar o nível de confiança atual e tentar duplicar as regras do runtime.

Importante

Para assembleias de confiança parcial, o valor desta propriedade depende do nível de confiança atual da assembleia. Se o assembly for carregado num domínio de aplicação parcialmente confiável (por exemplo, num domínio sandbox), o runtime ignora as anotações de segurança do assembly. O conjunto e todos os seus tipos são tratados como transparentes. O runtime presta atenção às anotações de segurança de um assembly de confiança parcial apenas quando esse assembly está carregado num domínio de aplicação totalmente confiável (por exemplo, no domínio de aplicação padrão de uma aplicação de ambiente de trabalho). Em contraste, um assembly de confiança (ou seja, um assembly com nome forte instalado na cache global de assembly) está sempre carregado com total confiança independentemente do nível de confiança do domínio de aplicação, pelo que o seu nível de confiança atual é sempre totalmente confiável. Pode determinar os níveis atuais de confiança dos assemblies e domínios de aplicação usando as Assembly.IsFullyTrusted propriedades e.AppDomain.IsFullyTrusted

Para mais informações sobre reflexão e transparência, consulte Considerações de Segurança para a Reflexão. Para informações sobre transparência, consulte Alterações de Segurança.

Aplica-se a

Ver também