CodeAccessPermission.Assert CodeAccessPermission.Assert CodeAccessPermission.Assert CodeAccessPermission.Assert Method

Definición

Declara que el código de llamada puede tener acceso al recurso protegido por una demanda de permiso a través del código que llama a este método, incluso si los autores de la llamada situados en una posición más alta de la pila no tienen permiso para tener acceso al recurso.Declares that the calling code can access the resource protected by a permission demand through the code that calls this method, even if callers higher in the stack have not been granted permission to access the resource. El uso de Assert() puede crear problemas de seguridad.Using Assert() can create security issues.

public:
 virtual void Assert();
[System.Diagnostics.Conditional("FEATURE_MONO_CAS")]
public void Assert ();
abstract member Assert : unit -> unit
override this.Assert : unit -> unit
Public Sub Assert ()

Implementaciones

Excepciones

El código de llamada no tiene Assertion.The calling code does not have Assertion.

O bien-or- Ya hay una Assert() activa para el marco actual.There is already an active Assert() for the current frame.

Comentarios

La pila de llamadas suele representarse de forma decreciente, por lo que más arriba en la pila de llamadas de métodos llamar a métodos inferior en la pila de llamadas.The call stack is typically represented as growing down, so that methods higher in the call stack call methods lower in the call stack. Una llamada a Assert evita que un recorrido de pila que se originan inferior en la pila de llamadas de continuar la pila de llamadas por encima del código que llama a este método.Calling Assert prevents a stack walk originating lower in the call stack from proceeding up the call stack beyond the code that calls this method. Por lo tanto, incluso si los llamadores situados en la pila de llamadas no tiene los permisos necesarios para tener acceso a un recurso, todavía podrán tener acceso a través del código que llama a este método en el permiso necesario.Therefore, even if callers higher on the call stack do not have the requisite permissions to access a resource, they can still access it through the code that calls this method on the necessary permission. Una aserción es efectiva únicamente si el código que llama Assert pasa la comprobación de seguridad para el permiso que está la aserción.An assertion is effective only if the code that calls Assert passes the security check for the permission that it is asserting.

La llamada a Assert es efectivo hasta que el código de llamada vuelve al llamador.The call to Assert is effective until the calling code returns to its caller. Solo un Assert pueden estar activas en un marco.Only one Assert can be active on a frame. Un intento de llamar a Assert cuando se activa Assert existe en el marco da como resultado un SecurityException.An attempt to call Assert when an active Assert exists on the frame results in a SecurityException. Llame a RevertAssert o RevertAll para quitar un activo Assert.Call RevertAssert or RevertAll to remove an active Assert.

Assert se omite para un permiso no concedido, ya que no se realizará correctamente una demanda para ese permiso.Assert is ignored for a permission not granted because a demand for that permission will not succeed. Sin embargo, si llama código más abajo en la pila de llamadas Demand para ese permiso, un SecurityException se produce cuando el recorrido de pila alcanza el código que intentó llamar a Assert.However, if code lower on the call stack calls Demand for that permission, a SecurityException is thrown when the stack walk reaches the code that tried to call Assert. Esto sucede porque el código que llamó Assert no dispone del permiso, aunque intentó Assert lo.This happens because the code that called Assert has not been granted the permission, even though it tried to Assert it.

Precaución

Dado que una llamada a Assert quita el requisito de que todo el código en la cadena de llamada debe tener el permiso para acceder al recurso especificado, puede abrir problemas de seguridad si utiliza incorrectamente o incorrectamente.Because calling Assert removes the requirement that all code in the call chain must be granted permission to access the specified resource, it can open up security issues if used incorrectly or inappropriately. Por lo tanto, debe usarse con mucha precaución.Therefore, it should be used with great caution.

Notas a los desarrolladores de herederos

No se puede invalidar este método.You cannot override this method.

Seguridad

SecurityPermission
Para poder llamar a Assert().for the ability to call Assert(). Enumeración asociada: AssertionAssociated enumeration: Assertion

Se aplica a

Consulte también: