CodeAccessPermission.Assert Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Declara que o código de chamada pode aceder ao recurso protegido por uma exigência de permissão através do código que chama este método, mesmo que os chamadores mais acima na pilha não tenham recebido permissão para aceder ao recurso. Usar Assert() pode criar problemas de segurança.
public:
virtual void Assert();
public void Assert();
abstract member Assert : unit -> unit
override this.Assert : unit -> unit
Public Sub Assert ()
Implementações
Exceções
Observações
A pilha de chamadas é tipicamente representada como a crescer para baixo, de modo que os métodos mais altos na pilha de chamadas chamam métodos mais baixos na pilha de chamadas. A chamada Assert impede que uma caminhada de pilha originada mais abaixo na pilha de chamadas prossiga pela pilha de chamadas para além do código que chama este método. Portanto, mesmo que os chamadores mais altos na pilha de chamadas não tenham as permissões necessárias para aceder a um recurso, ainda assim podem aceder a ele através do código que chama este método com a permissão necessária. Uma afirmação só é eficaz se o código que chama Assert passar a verificação de segurança para a permissão que está a afirmar.
A chamada para Assert é eficaz até que o código de chamada regresse ao seu chamador. Só um Assert pode estar ativo num frame. Uma tentativa de chamar Assert quando existe um ativo Assert na trama resulta num SecurityException. Ligue RevertAssert ou RevertAll remova um arquivo ativo Assert.
Assert é ignorado por uma permissão não concedida porque a exigência dessa autorização não terá sucesso. No entanto, se o código mais abaixo na pilha de chamadas pedir Demand essa permissão, a SecurityException é lançado quando a caminhada da pilha atinge o código que tentou chamar Assert. Isto acontece porque o código que ligou Assert não recebeu a permissão, apesar de ter tentado.Assert
Atenção
Como chamar Assert remove a exigência de que todo o código na cadeia de chamadas tenha permissão para aceder ao recurso especificado, pode criar problemas de segurança se for usado de forma incorreta ou inadequada. Por isso, deve ser usado com grande cautela.
Notas para Herdeiros
Não podes anular este método.