Contract.Invariant Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Especifica un contrato para un método o propiedad envolvente.
Sobrecargas
Invariant(Boolean) |
Especifica un contrato invariable para el método o propiedad envolvente. |
Invariant(Boolean, String) |
Especifica un contrato invariable para el método o propiedad envolvente, y muestra un mensaje si la condición del contrato da error. |
Invariant(Boolean)
- Source:
- Contracts.cs
- Source:
- Contracts.cs
- Source:
- Contracts.cs
Especifica un contrato invariable para el método o propiedad envolvente.
public:
static void Invariant(bool condition);
[System.Diagnostics.Conditional("CONTRACTS_FULL")]
public static void Invariant (bool condition);
[<System.Diagnostics.Conditional("CONTRACTS_FULL")>]
static member Invariant : bool -> unit
Public Shared Sub Invariant (condition As Boolean)
Parámetros
- condition
- Boolean
Expresión condicional que se va a probar.
- Atributos
Comentarios
Invariant los contratos se encuentran dentro de un método identificado por el ContractInvariantMethodAttribute atributo ; normalmente, el método se denomina ObjectInvariant
.
Este contrato solo se puede especificar en un método invariable dedicado que se declara en una clase. Si el método no está sellado, debe hacer referencia solo a miembros protegidos, no a miembros privados, de modo que las subclases puedan estar seguros de mantener las invariables.
Este contrato no está expuesto a los clientes; por lo tanto, puede hacer referencia a miembros que son menos visibles que el método envolvente.
Debe usar la reescritura binaria para la aplicación en tiempo de ejecución de esta invariable.
Las invariables se definen condicionalmente en función de la presencia del
CONTRACTS FULL
símbolo. Durante la comprobación en tiempo de ejecución, las invariantes se comprueban al final de cada método público. Si una invariable menciona un método público en la misma clase, la comprobación invariable que normalmente se produciría al final de ese método público se deshabilita y solo se comprueba al final de la llamada al método más externo a esa clase. Esto también ocurre si la clase se vuelve a escribir debido a una llamada a un método en otra clase.
Se aplica a
Invariant(Boolean, String)
- Source:
- Contracts.cs
- Source:
- Contracts.cs
- Source:
- Contracts.cs
Especifica un contrato invariable para el método o propiedad envolvente, y muestra un mensaje si la condición del contrato da error.
public:
static void Invariant(bool condition, System::String ^ userMessage);
[System.Diagnostics.Conditional("CONTRACTS_FULL")]
public static void Invariant (bool condition, string userMessage);
[System.Diagnostics.Conditional("CONTRACTS_FULL")]
public static void Invariant (bool condition, string? userMessage);
[<System.Diagnostics.Conditional("CONTRACTS_FULL")>]
static member Invariant : bool * string -> unit
Public Shared Sub Invariant (condition As Boolean, userMessage As String)
Parámetros
- condition
- Boolean
Expresión condicional que se va a probar.
- userMessage
- String
Mensaje que se va a mostrar si la condición es false
.
- Atributos
Comentarios
Invariant los contratos se encuentran dentro de un método identificado por el ContractInvariantMethodAttribute atributo ; normalmente, el método se denomina ObjectInvariant
.
Este contrato solo se puede especificar en un método invariable dedicado que se declara en una clase.
Este contrato no está expuesto a los clientes; por lo tanto, puede hacer referencia a miembros que son menos visibles que el método envolvente.
Debe usar la reescritura binaria para la aplicación en tiempo de ejecución de esta invariable.
Las invariables se definen condicionalmente en el
CONTRACTS FULL
símbolo. Durante la comprobación en tiempo de ejecución, las invariantes se comprueban al final de cada método público. Si una invariable menciona un método público en la misma clase, la comprobación invariable que normalmente se produciría al final de ese método público se deshabilita y solo se comprueba al final de la llamada al método más externo a esa clase. Esto también ocurre si la clase se vuelve a escribir debido a una llamada a un método en otra clase.