Debug.Assert Metodo

Definizione

Controlla una condizione. Se la condizione è false, viene visualizzata una finestra di messaggio contenente lo stack di chiamate.Checks for a condition; if the condition is false, outputs messages and displays a message box that shows the call stack.

Overload

Assert(Boolean)

Controlla una condizione. Se la condizione è false, viene visualizzata una finestra di messaggio contenente lo stack di chiamate.Checks for a condition; if the condition is false, displays a message box that shows the call stack.

Assert(Boolean, String)

Controlla una condizione. Se la condizione è false, genera un messaggio specificato e visualizza una finestra di messaggio contenente lo stack di chiamate.Checks for a condition; if the condition is false, outputs a specified message and displays a message box that shows the call stack.

Assert(Boolean, String, String)

Controlla una condizione. Se la condizione è false, vengono generati due messaggi specificati e viene visualizzata una finestra di messaggio contenente lo stack di chiamate.Checks for a condition; if the condition is false, outputs two specified messages and displays a message box that shows the call stack.

Assert(Boolean, String, String, Object[])

Controlla una condizione. Se la condizione è false, vengono generati due messaggi (semplice e formattato) e viene visualizzata una finestra di messaggio contenente lo stack di chiamate.Checks for a condition; if the condition is false, outputs two messages (simple and formatted) and displays a message box that shows the call stack.

Assert(Boolean)

Controlla una condizione. Se la condizione è false, viene visualizzata una finestra di messaggio contenente lo stack di chiamate.Checks for a condition; if the condition is false, displays a message box that shows the call stack.

public:
 static void Assert(bool condition);
public static void Assert (bool condition);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert (bool condition);
static member Assert : bool -> unit
[<System.Diagnostics.Conditional("DEBUG")>]
static member Assert : bool -> unit
Public Shared Sub Assert (condition As Boolean)

Parametri

condition
Boolean

Espressione condizionale da valutare.The conditional expression to evaluate. Se la condizione è true, il messaggio di errore non viene inviato e la finestra di messaggio non viene visualizzata.If the condition is true, a failure message is not sent and the message box is not displayed.

Attributi

Esempio

Nell'esempio seguente viene creato un indice per una matrice, viene eseguita un'azione per impostare il valore dell'indice e quindi viene chiamato Assert per confermare che il valore di indice è valido.The following example creates an index for an array, performs some action to set the value of the index, and then calls Assert to confirm that the index value is valid. Se non è valido, Assert restituisce lo stack di chiamate.If it is not valid, Assert outputs the call stack.

// Create a local value.
int index;

// Perform some action that sets the local value.
index = -40;

// Test that the local value is valid. 
#if defined(DEBUG)
Debug::Assert( index > -1 );
#endif
// Create an index for an array.
 int index;

 // Perform some action that sets the index.
 index = -40;

 // Test that the index value is valid.
 Debug.Assert(index > -1);
' Create an index for an array.
Dim index As Integer

' Perform some action that sets the index.
index = -40

' Test that the index value is valid. 
Debug.Assert((index > - 1))

Commenti

Per impostazione predefinita, il Debug.Assert metodo funziona solo nelle compilazioni di debug.By default, the Debug.Assert method works only in debug builds. Utilizzare il Trace.Assert metodo se si desidera eseguire asserzioni nelle build di rilascio.Use the Trace.Assert method if you want to do assertions in release builds. Per ulteriori informazioni, vedere asserzioni nel codice gestito.For more information, see Assertions in Managed Code.

Importante

I Assert metodi non sono disponibili per le Windows StoreWindows Store app.The Assert methods are not available for Windows StoreWindows Store apps.

In genere, il Assert(Boolean) metodo viene usato per identificare gli errori di logica durante lo sviluppo del programma.Typically, the Assert(Boolean) method is used to identify logic errors during program development. Assert valuta la condizione.Assert evaluates the condition. Se il risultato è false , viene inviato un messaggio di errore alla Listeners raccolta.If the result is false, it sends a failure message to the Listeners collection. È possibile personalizzare questo comportamento aggiungendo TraceListener o rimuovendo un oggetto dalla Listeners raccolta.You can customize this behavior by adding a TraceListener to, or removing one from, the Listeners collection.

Quando l'applicazione viene eseguita in modalità di interfaccia utente, viene visualizzata una finestra di messaggio che indica lo stack di chiamate con i numeri di file e riga.When the application runs in user interface mode, it displays a message box that shows the call stack with file and line numbers. La finestra di messaggio contiene tre pulsanti: Interrompi, Riprovae Ignora.The message box contains three buttons: Abort, Retry, and Ignore. Quando si fa clic sul pulsante Interrompi viene terminata l'applicazione.Clicking the Abort button terminates the application. Se si fa clic su Riprova , viene inviato il codice nel debugger se l'applicazione è in esecuzione in un debugger o se non è possibile aprire un debugger.Clicking Retry sends you to the code in the debugger if your application is running in a debugger, or offers to open a debugger if it is not. Fare clic su Ignora continua con l'istruzione successiva nel codice.Clicking Ignore continues with the next instruction in the code.

Nota

Windows 8.x StoreWindows 8.x Store le app non supportano le finestre di dialogo modali, quindi si comportano nello stesso modo in modalità interfaccia utente e in modalità interfaccia non utente.apps do not support modal dialog boxes, so they behave the same in user interface mode and non-user interface mode. Il messaggio viene scritto nei listener di traccia attivi in modalità di debug oppure nessun messaggio viene scritto in modalità di rilascio.The message is written to the active trace listeners in debugging mode, or no message is written in release mode.

Nota

La visualizzazione della finestra di messaggio dipende dalla presenza di DefaultTraceListener .The display of the message box depends on the presence of the DefaultTraceListener. Se l'oggetto DefaultTraceListener non è presente nella Listeners raccolta, la finestra di messaggio non viene visualizzata.If the DefaultTraceListener is not in the Listeners collection, the message box is not displayed. L'oggetto DefaultTraceListener può essere rimosso dall'oggetto < > Clear, dall'oggetto < Remove > oppure chiamando il Clear Metodo sulla Listeners Proprietà ( System.Diagnostics.Trace.Listeners.Clear() ).The DefaultTraceListener can be removed by the <clear>, the <remove>, or by calling the Clear method on the Listeners property (System.Diagnostics.Trace.Listeners.Clear()).

È possibile modificare il comportamento di DefaultTraceListener nel file di configurazione che corrisponde al nome dell'applicazione.You can change the behavior of the DefaultTraceListener in the configuration file that corresponds to the name of your application. In questo file è possibile abilitare e disabilitare la finestra di messaggio Assert o impostare la DefaultTraceListener.LogFileName Proprietà.In this file, you can enable and disable the assert message box or set the DefaultTraceListener.LogFileName property. Il file di configurazione deve essere formattato come segue:The configuration file should be formatted as follows:

<configuration>  
  <system.diagnostics>  
    <assert assertuienabled="true" logfilename="c:\\myFile.log" />  
  </system.diagnostics>  
</configuration>  

Vedi anche

Si applica a

Assert(Boolean, String)

Controlla una condizione. Se la condizione è false, genera un messaggio specificato e visualizza una finestra di messaggio contenente lo stack di chiamate.Checks for a condition; if the condition is false, outputs a specified message and displays a message box that shows the call stack.

public:
 static void Assert(bool condition, System::String ^ message);
public static void Assert (bool condition, string message);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert (bool condition, string message);
static member Assert : bool * string -> unit
[<System.Diagnostics.Conditional("DEBUG")>]
static member Assert : bool * string -> unit
Public Shared Sub Assert (condition As Boolean, message As String)

Parametri

condition
Boolean

Espressione condizionale da valutare.The conditional expression to evaluate. Se la condizione è true, il messaggio specificato non viene inviato e la finestra di messaggio non viene visualizzata.If the condition is true, the specified message is not sent and the message box is not displayed.

message
String

Messaggio da inviare alla raccolta di Listeners.The message to send to the Listeners collection.

Attributi

Esempio

Nell'esempio seguente viene verificato se il type parametro è valido.The following example checks whether the type parameter is valid. Se type è null , Assert restituisce un messaggio.If type is null, Assert outputs a message.

void MyMethod( Object^ obj, Type^ type )
{
   #if defined(DEBUG)
   Debug::Assert( type != nullptr, "Type paramater is null" );
   #endif
}
public static void MyMethod(Type type, Type baseType) {
    Debug.Assert(type != null, "Type parameter is null");

   // Perform some processing.
 }

Public Shared Sub MyMethod(type As Type, baseType As Type)
    Debug.Assert(Not (type Is Nothing), "Type parameter is null")
End Sub

Commenti

Per impostazione predefinita, il Debug.Assert metodo funziona solo nelle compilazioni di debug.By default, the Debug.Assert method works only in debug builds. Utilizzare il Trace.Assert metodo se si desidera eseguire asserzioni nelle build di rilascio.Use the Trace.Assert method if you want to do assertions in release builds. Per ulteriori informazioni, vedere asserzioni nel codice gestito.For more information, see Assertions in Managed Code.

In genere, il Assert metodo viene usato per identificare gli errori di logica durante lo sviluppo del programma.Typically, the Assert method is used to identify logic errors during program development. Assert valuta la condizione.Assert evaluates the condition. Se il risultato è false , invia il messaggio di diagnostica specificato alla Listeners raccolta.If the result is false, it sends the specified diagnostic message to the Listeners collection. È possibile personalizzare questo comportamento aggiungendo TraceListener o rimuovendo un oggetto dalla Listeners raccolta.You can customize this behavior by adding a TraceListener to, or removing one from, the Listeners collection.

Quando l'applicazione viene eseguita in modalità di interfaccia utente, viene visualizzata una finestra di messaggio che indica lo stack di chiamate con i numeri di file e riga.When the application runs in user interface mode, it displays a message box that shows the call stack with file and line numbers. La finestra di messaggio contiene tre pulsanti: Interrompi, Riprovae Ignora.The message box contains three buttons: Abort, Retry, and Ignore. Quando si fa clic sul pulsante Interrompi viene terminata l'applicazione.Clicking the Abort button terminates the application. Se si fa clic su Riprova , viene inviato il codice nel debugger se l'applicazione è in esecuzione in un debugger o se non è possibile aprire un debugger.Clicking Retry sends you to the code in the debugger if your application is running in a debugger, or offers to open a debugger if it is not. Fare clic su Ignora continua con l'istruzione successiva nel codice.Clicking Ignore continues with the next instruction in the code.

Nota

La visualizzazione della finestra di messaggio dipende dalla presenza di DefaultTraceListener .The display of the message box depends on the presence of the DefaultTraceListener. Se l'oggetto DefaultTraceListener non è presente nella Listeners raccolta, la finestra di messaggio non viene visualizzata.If the DefaultTraceListener is not in the Listeners collection, the message box is not displayed. L'oggetto DefaultTraceListener può essere rimosso dall'oggetto < > Clear, dall'oggetto < Remove > oppure chiamando il Clear Metodo sulla Listeners Proprietà ( System.Diagnostics.Trace.Listeners.Clear() ).The DefaultTraceListener can be removed by the <clear>, the <remove>, or by calling the Clear method on the Listeners property (System.Diagnostics.Trace.Listeners.Clear()).

È possibile modificare il comportamento di DefaultTraceListener nel file di configurazione che corrisponde al nome dell'applicazione.You can change the behavior of the DefaultTraceListener in the configuration file that corresponds to the name of your application. In questo file è possibile abilitare e disabilitare la finestra di messaggio Assert o impostare la DefaultTraceListener.LogFileName Proprietà.In this file, you can enable and disable the assert message box or set the DefaultTraceListener.LogFileName property. Il file di configurazione deve essere formattato come segue:The configuration file should be formatted as follows:

<configuration>  
  <system.diagnostics>  
    <assert assertuienabled="true" logfilename="c:\\myFile.log" />  
  </system.diagnostics>  
</configuration>  

Vedi anche

Si applica a

Assert(Boolean, String, String)

Controlla una condizione. Se la condizione è false, vengono generati due messaggi specificati e viene visualizzata una finestra di messaggio contenente lo stack di chiamate.Checks for a condition; if the condition is false, outputs two specified messages and displays a message box that shows the call stack.

public:
 static void Assert(bool condition, System::String ^ message, System::String ^ detailMessage);
public static void Assert (bool condition, string message, string detailMessage);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert (bool condition, string message, string detailMessage);
static member Assert : bool * string * string -> unit
[<System.Diagnostics.Conditional("DEBUG")>]
static member Assert : bool * string * string -> unit
Public Shared Sub Assert (condition As Boolean, message As String, detailMessage As String)

Parametri

condition
Boolean

Espressione condizionale da valutare.The conditional expression to evaluate. Se la condizione è true, i messaggi specificati non vengono inviati e la finestra di messaggio non viene visualizzata.If the condition is true, the specified messages are not sent and the message box is not displayed.

message
String

Messaggio da inviare alla raccolta di Listeners.The message to send to the Listeners collection.

detailMessage
String

Messaggio dettagliato da inviare alla raccolta di Listeners.The detailed message to send to the Listeners collection.

Attributi

Esempio

Nell'esempio seguente viene verificato se il type parametro è valido.The following example checks whether the type parameter is valid. Se type è null , Assert restituisce due messaggi.If type is null, Assert outputs two messages.

void MyMethod( Object^ obj, Type^ type )
{
   #if defined(DEBUG)
   Debug::Assert( type != nullptr, "Type paramater is null", "Can't get object for null type" );
   #endif
}
public static void MyMethod(Type type, Type baseType) {
    Debug.Assert(type != null, "Type parameter is null",
       "Can't get object for null type");

   // Perform some processing.
 }

Public Shared Sub MyMethod(type As Type, baseType As Type)
    Debug.Assert( Not (type Is Nothing), "Type parameter is null", "Can't get object for null type")
    ' Perform some processing.
End Sub

Commenti

Per impostazione predefinita, il Debug.Assert metodo funziona solo nelle compilazioni di debug.By default, the Debug.Assert method works only in debug builds. Utilizzare il Trace.Assert metodo se si desidera eseguire asserzioni nelle build di rilascio.Use the Trace.Assert method if you want to do assertions in release builds. Per ulteriori informazioni, vedere asserzioni nel codice gestito.For more information, see Assertions in Managed Code.

In genere, il Assert(Boolean, String, String) metodo viene usato per identificare gli errori di logica durante lo sviluppo del programma.Typically, the Assert(Boolean, String, String) method is used to identify logic errors during program development. Assert valuta la condizione.Assert evaluates the condition. Se il risultato è false , invia il messaggio di diagnostica specificato e il messaggio dettagliato alla Listeners raccolta.If the result is false, it sends the specified diagnostic message and detailed message to the Listeners collection. È possibile personalizzare questo comportamento aggiungendo TraceListener o rimuovendo un oggetto dalla Listeners raccolta.You can customize this behavior by adding a TraceListener to, or removing one from, the Listeners collection.

Quando l'applicazione viene eseguita in modalità di interfaccia utente, viene visualizzata una finestra di messaggio che indica lo stack di chiamate con i numeri di file e riga.When the application runs in user interface mode, it displays a message box that shows the call stack with file and line numbers. La finestra di messaggio contiene tre pulsanti: Interrompi, Riprovae Ignora.The message box contains three buttons: Abort, Retry, and Ignore. Quando si fa clic sul pulsante Interrompi viene terminata l'applicazione.Clicking the Abort button terminates the application. Se si fa clic su Riprova , viene inviato il codice nel debugger se l'applicazione è in esecuzione in un debugger o se non è possibile aprire un debugger.Clicking Retry sends you to the code in the debugger if your application is running in a debugger, or offers to open a debugger if it is not. Fare clic su Ignora continua con l'istruzione successiva nel codice.Clicking Ignore continues with the next instruction in the code.

Nota

La visualizzazione della finestra di messaggio dipende dalla presenza di DefaultTraceListener .The display of the message box depends on the presence of the DefaultTraceListener. Se l'oggetto DefaultTraceListener non è presente nella Listeners raccolta, la finestra di messaggio non viene visualizzata.If the DefaultTraceListener is not in the Listeners collection, the message box is not displayed. L'oggetto DefaultTraceListener può essere rimosso dall'oggetto < > Clear, dall'oggetto < Remove > oppure chiamando il Clear Metodo sulla Listeners Proprietà ( System.Diagnostics.Trace.Listeners.Clear() ).The DefaultTraceListener can be removed by the <clear>, the <remove>, or by calling the Clear method on the Listeners property (System.Diagnostics.Trace.Listeners.Clear()).

È possibile modificare il comportamento di DefaultTraceListener nel file di configurazione che corrisponde al nome dell'applicazione.You can change the behavior of the DefaultTraceListener in the configuration file that corresponds to the name of your application. In questo file è possibile abilitare e disabilitare la finestra di messaggio Assert o impostare la DefaultTraceListener.LogFileName Proprietà.In this file, you can enable and disable the assert message box or set the DefaultTraceListener.LogFileName property. Il file di configurazione deve essere formattato come segue:The configuration file should be formatted as follows:

<configuration>  
  <system.diagnostics>  
    <assert assertuienabled="true" logfilename="c:\\myFile.log" />  
  </system.diagnostics>  
</configuration>  

Vedi anche

Si applica a

Assert(Boolean, String, String, Object[])

Controlla una condizione. Se la condizione è false, vengono generati due messaggi (semplice e formattato) e viene visualizzata una finestra di messaggio contenente lo stack di chiamate.Checks for a condition; if the condition is false, outputs two messages (simple and formatted) and displays a message box that shows the call stack.

public:
 static void Assert(bool condition, System::String ^ message, System::String ^ detailMessageFormat, ... cli::array <System::Object ^> ^ args);
public static void Assert (bool condition, string message, string detailMessageFormat, params object[] args);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert (bool condition, string? message, string detailMessageFormat, params object[]? args);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert (bool condition, string message, string detailMessageFormat, params object[] args);
static member Assert : bool * string * string * obj[] -> unit
[<System.Diagnostics.Conditional("DEBUG")>]
static member Assert : bool * string * string * obj[] -> unit
Public Shared Sub Assert (condition As Boolean, message As String, detailMessageFormat As String, ParamArray args As Object())

Parametri

condition
Boolean

Espressione condizionale da valutare.The conditional expression to evaluate. Se la condizione è true, i messaggi specificati non vengono inviati e la finestra di messaggio non viene visualizzata.If the condition is true, the specified messages are not sent and the message box is not displayed.

message
String

Messaggio da inviare alla raccolta di Listeners.The message to send to the Listeners collection.

detailMessageFormat
String

Stringa di formato composito da inviare alla raccolta Listeners.The composite format string to send to the Listeners collection. Questo messaggio contiene testo combinato con zero o più elementi di formato, che corrispondono a oggetti nella matrice args.This message contains text intermixed with zero or more format items, which correspond to objects in the args array.

args
Object[]

Matrice di oggetti che contiene zero o più oggetti da formattare.An object array that contains zero or more objects to format.

Attributi

Commenti

Questo metodo usa la funzionalità di formattazione composita .NET per convertire il valore di un oggetto nella relativa rappresentazione testuale e incorporare tale rappresentazione in una stringa.This method uses the .NET composite formatting feature to convert the value of an object to its text representation and embed that representation in a string. La stringa risultante viene inviata alla Listeners raccolta.The resulting string is sent to the Listeners collection.

Per impostazione predefinita, il Debug.Assert metodo funziona solo nelle compilazioni di debug.By default, the Debug.Assert method works only in debug builds. Utilizzare il Trace.Assert metodo se si desidera eseguire asserzioni nelle build di rilascio.Use the Trace.Assert method if you want to do assertions in release builds. Per ulteriori informazioni, vedere asserzioni nel codice gestito.For more information, see Assertions in Managed Code.

In genere, il Assert(Boolean, String, String, Object[]) metodo viene usato per identificare gli errori di logica durante lo sviluppo del programma.Typically, the Assert(Boolean, String, String, Object[]) method is used to identify logic errors during program development. Assert valuta la condizione.Assert evaluates the condition. Se il risultato è false , String.Format(String, Object[]) viene chiamato il metodo e la detailMessageFormat stringa e la args matrice vengono passate come parametri.If the result is false, The String.Format(String, Object[]) method is called and the detailMessageFormat string and args array are passed in as parameters. Assert(Boolean, String, String, Object[]) Invia quindi il messaggio di testo specificato e il messaggio di testo formattato alla Listeners raccolta.Assert(Boolean, String, String, Object[]) then sends the specified text message and the formatted text message to the Listeners collection. È possibile personalizzare questo comportamento aggiungendo TraceListener o rimuovendo un oggetto dalla Listeners raccolta.You can customize this behavior by adding a TraceListener to, or removing one from, the Listeners collection.

Quando l'applicazione viene eseguita in modalità di interfaccia utente, viene visualizzata una finestra di messaggio che indica lo stack di chiamate con i numeri di file e riga.When the application runs in user interface mode, it displays a message box that shows the call stack with file and line numbers. La finestra di messaggio contiene tre pulsanti: Interrompi, Riprovae Ignora.The message box contains three buttons: Abort, Retry, and Ignore. Quando si fa clic sul pulsante Interrompi viene terminata l'applicazione.Clicking the Abort button terminates the application. Se si fa clic su Riprova , viene inviato il codice nel debugger se l'applicazione è in esecuzione in un debugger o se non è possibile aprire un debugger.Clicking Retry sends you to the code in the debugger if your application is running in a debugger, or offers to open a debugger if it is not. Fare clic su Ignora continua con l'istruzione successiva nel codice.Clicking Ignore continues with the next instruction in the code.

Nota

La visualizzazione della finestra di messaggio dipende dalla presenza di DefaultTraceListener .The display of the message box is dependent on the presence of the DefaultTraceListener. Se l'oggetto DefaultTraceListener non è presente nella Listeners raccolta, la finestra di messaggio non viene visualizzata.If the DefaultTraceListener is not in the Listeners collection, the message box is not displayed. L'oggetto DefaultTraceListener può essere rimosso dall'oggetto < > Clear, dall'oggetto < Remove > oppure chiamando il Clear Metodo sulla Listeners Proprietà ( System.Diagnostics.Trace.Listeners.Clear() ).The DefaultTraceListener can be removed by the <clear>, the <remove>, or by calling the Clear method on the Listeners property (System.Diagnostics.Trace.Listeners.Clear()).

È possibile modificare il comportamento di DefaultTraceListener nel file di configurazione che corrisponde al nome dell'applicazione.You can change the behavior of the DefaultTraceListener in the configuration file that corresponds to the name of your application. In questo file è possibile abilitare e disabilitare la finestra di messaggio Assert o impostare la DefaultTraceListener.LogFileName Proprietà.In this file, you can enable and disable the assert message box or set the DefaultTraceListener.LogFileName property. Il file di configurazione deve essere formattato come segue:The configuration file should be formatted as follows:

<configuration>  
  <system.diagnostics>  
    <assert assertuienabled="true" logfilename="c:\\myFile.log" />  
  </system.diagnostics>  
</configuration>  

Si applica a