Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Contract.Invariant (Boolean, String)

 

Data di pubblicazione: ottobre 2016

Specifica un contratto invariante per la proprietà o il metodo contenitore e visualizza un messaggio se la condizione per il contratto ha esito negativo.

Spazio dei nomi:   System.Diagnostics.Contracts
Assembly:  mscorlib (in mscorlib.dll)

[ConditionalAttribute("CONTRACTS_FULL")]
public static void Invariant(
	bool condition,
	string userMessage
)

Parametri

condition
Type: System.Boolean

Espressione condizionale da sottoporre a test.

userMessage
Type: System.String

Il messaggio da visualizzare se la condizione è false.

Invariant i contratti sono contenuti all'interno di un metodo identificato dal ContractInvariantMethodAttribute attributo; in genere, il metodo è denominato ObjectInvariant.

  • Questo contratto può essere specificato solo in un metodo invariante dedicato che è dichiarato in una classe.

  • Il presente contratto non viene esposta al client. Pertanto, può fare riferimento solo i membri meno visibili rispetto al metodo che lo contiene.

  • È necessario utilizzare il rewriter binario per l'applicazione in fase di esecuzione di questa invariante.

  • Le invarianti vengono definite in modo condizionale nel CONTRACTS FULL simbolo. Durante il controllo in fase di esecuzione, le invarianti vengono controllate alla fine di ogni metodo pubblico. Se un'invariante menziona un metodo pubblico nella stessa classe, il controllo dell'invariante che avverrebbe normalmente alla fine di tale metodo è disabilitato e viene controllato solo alla fine della chiamata al metodo più esterna a tale classe. Ciò avviene anche se la classe viene immessa di nuovo a causa di una chiamata a un metodo in un'altra classe.

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 4.0
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 4.0
Windows Phone Silverlight
Disponibile da 8.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: