Debug.Assert Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Sucht nach einer Bedingung; wenn die Bedingung lautet false, gibt Nachrichten aus und zeigt ein Meldungsfeld an, in dem der Aufrufstapel angezeigt wird.
Überlädt
| Name | Beschreibung |
|---|---|
| Assert(Boolean) |
Sucht nach einer Bedingung; wenn die Bedingung lautet |
| Assert(Boolean, Debug+AssertInterpolatedStringHandler) |
Sucht nach einer Bedingung; wenn die Bedingung lautet |
| Assert(Boolean, String) |
Sucht nach einer Bedingung; wenn die Bedingung lautet |
| Assert(Boolean, Debug+AssertInterpolatedStringHandler, Debug+AssertInterpolatedStringHandler) |
Sucht nach einer Bedingung; wenn die Bedingung lautet |
| Assert(Boolean, String, String) |
Sucht nach einer Bedingung; wenn die Bedingung lautet |
| Assert(Boolean, String, String, Object[]) |
Sucht nach einer Bedingung; wenn die Bedingung lautet |
Assert(Boolean)
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
Sucht nach einer Bedingung; wenn die Bedingung lautet false, wird ein Meldungsfeld mit dem Aufrufstapel angezeigt.
public:
static void Assert(bool condition);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert(bool condition);
[System.Diagnostics.Conditional("DEBUG")]
[System.Runtime.CompilerServices.OverloadResolutionPriority(-1)]
public static void Assert(bool condition);
[<System.Diagnostics.Conditional("DEBUG")>]
static member Assert : bool -> unit
[<System.Diagnostics.Conditional("DEBUG")>]
[<System.Runtime.CompilerServices.OverloadResolutionPriority(-1)>]
static member Assert : bool -> unit
Public Shared Sub Assert (condition As Boolean)
Parameter
- condition
- Boolean
Der auszuwertende bedingte Ausdruck. Wenn die Bedingung lautet true, wird keine Fehlermeldung gesendet, und das Meldungsfeld wird nicht angezeigt.
- Attribute
Beispiele
Das folgende Beispiel erstellt einen Index für ein Array, führt eine Aktion aus, um den Wert des Index festzulegen, und ruft dann auf Assert , um zu bestätigen, dass der Indexwert gültig ist. Wenn sie ungültig ist, Assert wird der Aufrufstapel ausgegeben.
// 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))
Hinweise
Standardmäßig funktioniert die Debug.Assert Methode nur in Debugbuilds. Verwenden Sie die Trace.Assert Methode, wenn Sie Assertionen in Releasebuilds ausführen möchten. Weitere Informationen finden Sie unter Assertionen in verwaltetem Code.
In der Regel wird die Assert(Boolean) Methode verwendet, um Logikfehler während der Programmentwicklung zu identifizieren.
Assert wertet die Bedingung aus. Wenn das Ergebnis lautet false, sendet es eine Fehlermeldung an die Listeners Sammlung. Sie können dieses Verhalten anpassen, indem Sie eine TraceListener der Auflistung hinzufügen oder aus dieser Listeners entfernen.
Wenn die Anwendung im Benutzeroberflächenmodus ausgeführt wird, wird ein Meldungsfeld angezeigt, in dem der Anrufstapel mit Datei- und Zeilennummern angezeigt wird. Das Meldungsfeld enthält drei Schaltflächen: "Abbrechen", " Wiederholen" und "Ignorieren". Durch Klicken auf die Schaltfläche " Abbrechen " wird die Anwendung beendet. Durch Klicken auf " Wiederholen" werden Sie an den Code im Debugger gesendet, wenn ihre Anwendung in einem Debugger ausgeführt wird, oder bietet an, einen Debugger zu öffnen, falls dies nicht der Fehler ist. Durch Klicken auf "Ignorieren" wird die nächste Anweisung im Code fortgesetzt.
Hinweis
Windows 8.x-Apps unterstützen keine modale Dialogfelder, sodass sie sich im Benutzeroberflächenmodus und nicht im Benutzeroberflächenmodus verhalten. Die Nachricht wird in den aktiven Ablaufverfolgungslistener im Debugmodus geschrieben, oder es wird keine Nachricht im Freigabemodus geschrieben.
Hinweis
Die Anzeige des Meldungsfelds hängt vom Vorhandensein des Kontrollkästchens DefaultTraceListenerab. Wenn sich die DefaultTraceListenerListeners Auflistung nicht befindet, wird das Meldungsfeld nicht angezeigt. Dies DefaultTraceListener kann durch Aufrufen der Clear Methode für die Listeners Eigenschaft (System.Diagnostics.Trace.Listeners.Clear()) entfernt werden. Für .NET Framework-Apps können Sie auch das <clear-Element> und das Remove-Element> in der< Konfigurationsdatei Ihrer App verwenden.
Für .NET Framework-Apps können Sie das Verhalten der DefaultTraceListener Konfigurationsdatei ändern, die dem Namen Ihrer Anwendung entspricht. In dieser Datei können Sie das Meldungsfeld "Assert" aktivieren und deaktivieren oder die DefaultTraceListener.LogFileName Eigenschaft festlegen. Die Konfigurationsdatei sollte wie folgt formatiert werden:
<configuration>
<system.diagnostics>
<assert assertuienabled="true" logfilename="c:\\myFile.log" />
</system.diagnostics>
</configuration>
Weitere Informationen
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Gilt für:
Assert(Boolean, Debug+AssertInterpolatedStringHandler)
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
Sucht nach einer Bedingung; wenn die Bedingung lautet false, gibt eine angegebene Nachricht aus und zeigt ein Meldungsfeld an, in dem der Aufrufstapel angezeigt wird.
public:
static void Assert(bool condition, System::Diagnostics::Debug::AssertInterpolatedStringHandler % message);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert(bool condition, ref System.Diagnostics.Debug.AssertInterpolatedStringHandler message);
[<System.Diagnostics.Conditional("DEBUG")>]
static member Assert : bool * AssertInterpolatedStringHandler -> unit
Public Shared Sub Assert (condition As Boolean, ByRef message As Debug.AssertInterpolatedStringHandler)
Parameter
- condition
- Boolean
Der auszuwertende bedingte Ausdruck. Wenn die Bedingung lautet true, wird die angegebene Nachricht nicht gesendet, und das Meldungsfeld wird nicht angezeigt.
Die Nachricht, die an die Listeners Sammlung gesendet werden soll.
- Attribute
Hinweise
Diese Überladung wurde in .NET 6 eingeführt, um die Leistung zu verbessern. Im Vergleich zu den Überladungen, die einen String Parameter verwenden, wertet diese Überladung nur alle interpolierten Zeichenfolgenformatierungselemente aus, wenn die Nachricht erforderlich ist.
Standardmäßig funktioniert die Debug.Assert Methode nur in Debugbuilds. Verwenden Sie die Trace.Assert Methode, wenn Sie Assertionen in Releasebuilds ausführen möchten. Weitere Informationen finden Sie unter Assertionen in verwaltetem Code.
In der Regel wird die Assert Methode verwendet, um Logikfehler während der Programmentwicklung zu identifizieren.
Assert wertet die Bedingung aus. Wenn das Ergebnis lautet false, sendet es die angegebene Diagnosenachricht an die Listeners Sammlung. Sie können dieses Verhalten anpassen, indem Sie eine TraceListener der Auflistung hinzufügen oder aus dieser Listeners entfernen.
Wenn die Anwendung im Benutzeroberflächenmodus ausgeführt wird, wird ein Meldungsfeld angezeigt, in dem der Anrufstapel mit Datei- und Zeilennummern angezeigt wird. Das Meldungsfeld enthält drei Schaltflächen: "Abbrechen", " Wiederholen" und "Ignorieren". Durch Klicken auf die Schaltfläche " Abbrechen " wird die Anwendung beendet. Durch Klicken auf " Wiederholen" werden Sie an den Code im Debugger gesendet, wenn ihre Anwendung in einem Debugger ausgeführt wird, oder bietet an, einen Debugger zu öffnen, falls dies nicht der Fehler ist. Durch Klicken auf "Ignorieren" wird die nächste Anweisung im Code fortgesetzt.
Hinweis
Die Anzeige des Meldungsfelds hängt vom Vorhandensein des Kontrollkästchens DefaultTraceListenerab. Wenn sich die DefaultTraceListenerListeners Auflistung nicht befindet, wird das Meldungsfeld nicht angezeigt. Dies DefaultTraceListener kann durch Aufrufen der Clear Methode für die Listeners Eigenschaft (System.Diagnostics.Trace.Listeners.Clear()) entfernt werden. Für .NET Framework-Apps können Sie auch das <clear-Element> und das Remove-Element> in der< Konfigurationsdatei Ihrer App verwenden.
Für .NET Framework-Apps können Sie das Verhalten der DefaultTraceListener Konfigurationsdatei ändern, die dem Namen Ihrer Anwendung entspricht. In dieser Datei können Sie das Meldungsfeld "Assert" aktivieren und deaktivieren oder die DefaultTraceListener.LogFileName Eigenschaft festlegen. Die Konfigurationsdatei sollte wie folgt formatiert werden:
<configuration>
<system.diagnostics>
<assert assertuienabled="true" logfilename="c:\\myFile.log" />
</system.diagnostics>
</configuration>
Weitere Informationen
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Gilt für:
Assert(Boolean, String)
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
Sucht nach einer Bedingung; wenn die Bedingung lautet false, gibt eine angegebene Nachricht aus und zeigt ein Meldungsfeld an, in dem der Aufrufstapel angezeigt wird.
public:
static void Assert(bool condition, System::String ^ message);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert(bool condition, string message);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert(bool condition, string? message = default);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert(bool condition, string? message);
[<System.Diagnostics.Conditional("DEBUG")>]
static member Assert : bool * string -> unit
Public Shared Sub Assert (condition As Boolean, message As String)
Public Shared Sub Assert (condition As Boolean, Optional message As String = Nothing)
Parameter
- condition
- Boolean
Der auszuwertende bedingte Ausdruck. Wenn die Bedingung lautet true, wird die angegebene Nachricht nicht gesendet, und das Meldungsfeld wird nicht angezeigt.
- Attribute
Beispiele
Im folgenden Beispiel wird überprüft, ob der type Parameter gültig ist. Wenn type ja null, Assert gibt eine Nachricht aus.
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
Hinweise
Standardmäßig funktioniert die Debug.Assert Methode nur in Debugbuilds. Verwenden Sie die Trace.Assert Methode, wenn Sie Assertionen in Releasebuilds ausführen möchten. Weitere Informationen finden Sie unter Assertionen in verwaltetem Code.
In der Regel wird die Assert Methode verwendet, um Logikfehler während der Programmentwicklung zu identifizieren.
Assert wertet die Bedingung aus. Wenn das Ergebnis lautet false, sendet es die angegebene Diagnosenachricht an die Listeners Sammlung. Sie können dieses Verhalten anpassen, indem Sie eine TraceListener der Auflistung hinzufügen oder aus dieser Listeners entfernen.
Wenn die Anwendung im Benutzeroberflächenmodus ausgeführt wird, wird ein Meldungsfeld angezeigt, in dem der Anrufstapel mit Datei- und Zeilennummern angezeigt wird. Das Meldungsfeld enthält drei Schaltflächen: "Abbrechen", " Wiederholen" und "Ignorieren". Durch Klicken auf die Schaltfläche " Abbrechen " wird die Anwendung beendet. Durch Klicken auf " Wiederholen" werden Sie an den Code im Debugger gesendet, wenn ihre Anwendung in einem Debugger ausgeführt wird, oder bietet an, einen Debugger zu öffnen, falls dies nicht der Fehler ist. Durch Klicken auf "Ignorieren" wird die nächste Anweisung im Code fortgesetzt.
Hinweis
Die Anzeige des Meldungsfelds hängt vom Vorhandensein des Kontrollkästchens DefaultTraceListenerab. Wenn sich die DefaultTraceListenerListeners Auflistung nicht befindet, wird das Meldungsfeld nicht angezeigt. Dies DefaultTraceListener kann durch Aufrufen der Clear Methode für die Listeners Eigenschaft (System.Diagnostics.Trace.Listeners.Clear()) entfernt werden. Für .NET Framework-Apps können Sie auch das <clear-Element> und das Remove-Element> in der< Konfigurationsdatei Ihrer App verwenden.
Für .NET Framework-Apps können Sie das Verhalten der DefaultTraceListener Konfigurationsdatei ändern, die dem Namen Ihrer Anwendung entspricht. In dieser Datei können Sie das Meldungsfeld "Assert" aktivieren und deaktivieren oder die DefaultTraceListener.LogFileName Eigenschaft festlegen. Die Konfigurationsdatei sollte wie folgt formatiert werden:
<configuration>
<system.diagnostics>
<assert assertuienabled="true" logfilename="c:\\myFile.log" />
</system.diagnostics>
</configuration>
Weitere Informationen
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Gilt für:
Assert(Boolean, Debug+AssertInterpolatedStringHandler, Debug+AssertInterpolatedStringHandler)
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
Sucht nach einer Bedingung; wenn die Bedingung lautet false, gibt eine angegebene Nachricht aus und zeigt ein Meldungsfeld an, in dem der Aufrufstapel angezeigt wird.
public:
static void Assert(bool condition, System::Diagnostics::Debug::AssertInterpolatedStringHandler % message, System::Diagnostics::Debug::AssertInterpolatedStringHandler % detailMessage);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert(bool condition, ref System.Diagnostics.Debug.AssertInterpolatedStringHandler message, ref System.Diagnostics.Debug.AssertInterpolatedStringHandler detailMessage);
[<System.Diagnostics.Conditional("DEBUG")>]
static member Assert : bool * AssertInterpolatedStringHandler * AssertInterpolatedStringHandler -> unit
Public Shared Sub Assert (condition As Boolean, ByRef message As Debug.AssertInterpolatedStringHandler, ByRef detailMessage As Debug.AssertInterpolatedStringHandler)
Parameter
- condition
- Boolean
Der auszuwertende bedingte Ausdruck. Wenn die Bedingung lautet true, wird die angegebene Nachricht nicht gesendet, und das Meldungsfeld wird nicht angezeigt.
Die Nachricht, die an die Listeners Sammlung gesendet werden soll.
- detailMessage
- Debug.AssertInterpolatedStringHandler
Die detaillierte Nachricht, die an die Listeners Sammlung gesendet werden soll.
- Attribute
Hinweise
Diese Überladung wurde in .NET 6 eingeführt, um die Leistung zu verbessern. Im Vergleich zu den Überladungen, die einen String Parameter verwenden, wertet diese Überladung nur alle interpolierten Zeichenfolgenformatierungselemente aus, wenn die Nachricht erforderlich ist.
Standardmäßig funktioniert die Debug.Assert Methode nur in Debugbuilds. Verwenden Sie die Trace.Assert Methode, wenn Sie Assertionen in Releasebuilds ausführen möchten. Weitere Informationen finden Sie unter Assertionen in verwaltetem Code.
In der Regel wird die Assert Methode verwendet, um Logikfehler während der Programmentwicklung zu identifizieren.
Assert wertet die Bedingung aus. Wenn das Ergebnis lautet false, sendet es die angegebene Diagnosenachricht an die Listeners Sammlung. Sie können dieses Verhalten anpassen, indem Sie eine TraceListener der Auflistung hinzufügen oder aus dieser Listeners entfernen.
Wenn die Anwendung im Benutzeroberflächenmodus ausgeführt wird, wird ein Meldungsfeld angezeigt, in dem der Anrufstapel mit Datei- und Zeilennummern angezeigt wird. Das Meldungsfeld enthält drei Schaltflächen: "Abbrechen", " Wiederholen" und "Ignorieren". Durch Klicken auf die Schaltfläche " Abbrechen " wird die Anwendung beendet. Durch Klicken auf " Wiederholen" werden Sie an den Code im Debugger gesendet, wenn ihre Anwendung in einem Debugger ausgeführt wird, oder bietet an, einen Debugger zu öffnen, falls dies nicht der Fehler ist. Durch Klicken auf "Ignorieren" wird die nächste Anweisung im Code fortgesetzt.
Hinweis
Die Anzeige des Meldungsfelds hängt vom Vorhandensein des Kontrollkästchens DefaultTraceListenerab. Wenn sich die DefaultTraceListenerListeners Auflistung nicht befindet, wird das Meldungsfeld nicht angezeigt. Dies DefaultTraceListener kann durch Aufrufen der Clear Methode für die Listeners Eigenschaft (System.Diagnostics.Trace.Listeners.Clear()) entfernt werden. Für .NET Framework-Apps können Sie auch das <clear-Element> und das Remove-Element> in der< Konfigurationsdatei Ihrer App verwenden.
Für .NET Framework-Apps können Sie das Verhalten der DefaultTraceListener Konfigurationsdatei ändern, die dem Namen Ihrer Anwendung entspricht. In dieser Datei können Sie das Meldungsfeld "Assert" aktivieren und deaktivieren oder die DefaultTraceListener.LogFileName Eigenschaft festlegen. Die Konfigurationsdatei sollte wie folgt formatiert werden:
<configuration>
<system.diagnostics>
<assert assertuienabled="true" logfilename="c:\\myFile.log" />
</system.diagnostics>
</configuration>
Weitere Informationen
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Gilt für:
Assert(Boolean, String, String)
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
Sucht nach einer Bedingung; wenn die Bedingung lautet false, gibt zwei angegebene Nachrichten aus und zeigt ein Meldungsfeld an, in dem der Aufrufstapel angezeigt wird.
public:
static void Assert(bool condition, System::String ^ message, System::String ^ detailMessage);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert(bool condition, string message, string detailMessage);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert(bool condition, string? message, string? detailMessage);
[<System.Diagnostics.Conditional("DEBUG")>]
static member Assert : bool * string * string -> unit
Public Shared Sub Assert (condition As Boolean, message As String, detailMessage As String)
Parameter
- condition
- Boolean
Der auszuwertende bedingte Ausdruck. Wenn die Bedingung lautet true, werden die angegebenen Nachrichten nicht gesendet, und das Meldungsfeld wird nicht angezeigt.
- detailMessage
- String
Die detaillierte Nachricht, die an die Listeners Sammlung gesendet werden soll.
- Attribute
Beispiele
Im folgenden Beispiel wird überprüft, ob der type Parameter gültig ist. Ist type dies der Grund null, Assert gibt zwei Nachrichten aus.
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
Hinweise
Standardmäßig funktioniert die Debug.Assert Methode nur in Debugbuilds. Verwenden Sie die Trace.Assert Methode, wenn Sie Assertionen in Releasebuilds ausführen möchten. Weitere Informationen finden Sie unter Assertionen in verwaltetem Code.
In der Regel wird die Assert(Boolean, String, String) Methode verwendet, um Logikfehler während der Programmentwicklung zu identifizieren.
Assert wertet die Bedingung aus. Wenn das Ergebnis lautet false, sendet es die angegebene Diagnosenachricht und detaillierte Nachricht an die Listeners Sammlung. Sie können dieses Verhalten anpassen, indem Sie eine TraceListener der Auflistung hinzufügen oder aus dieser Listeners entfernen.
Wenn die Anwendung im Benutzeroberflächenmodus ausgeführt wird, wird ein Meldungsfeld angezeigt, in dem der Anrufstapel mit Datei- und Zeilennummern angezeigt wird. Das Meldungsfeld enthält drei Schaltflächen: "Abbrechen", " Wiederholen" und "Ignorieren". Durch Klicken auf die Schaltfläche " Abbrechen " wird die Anwendung beendet. Durch Klicken auf " Wiederholen" werden Sie an den Code im Debugger gesendet, wenn ihre Anwendung in einem Debugger ausgeführt wird, oder bietet an, einen Debugger zu öffnen, falls dies nicht der Fehler ist. Durch Klicken auf "Ignorieren" wird die nächste Anweisung im Code fortgesetzt.
Hinweis
Die Anzeige des Meldungsfelds hängt vom Vorhandensein des Kontrollkästchens DefaultTraceListenerab. Wenn sich die DefaultTraceListenerListeners Auflistung nicht befindet, wird das Meldungsfeld nicht angezeigt. Dies DefaultTraceListener kann durch Aufrufen der Clear Methode für die Listeners Eigenschaft (System.Diagnostics.Trace.Listeners.Clear()) entfernt werden. Für .NET Framework-Apps können Sie auch das <clear-Element> und das Remove-Element> in der< Konfigurationsdatei Ihrer App verwenden.
Für .NET Framework-Apps können Sie das Verhalten der DefaultTraceListener Konfigurationsdatei ändern, die dem Namen Ihrer Anwendung entspricht. In dieser Datei können Sie das Meldungsfeld "Assert" aktivieren und deaktivieren oder die DefaultTraceListener.LogFileName Eigenschaft festlegen. Die Konfigurationsdatei sollte wie folgt formatiert werden:
<configuration>
<system.diagnostics>
<assert assertuienabled="true" logfilename="c:\\myFile.log" />
</system.diagnostics>
</configuration>
Weitere Informationen
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Gilt für:
Assert(Boolean, String, String, Object[])
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
- Quelle:
- Debug.cs
Sucht nach einer Bedingung; wenn die Bedingung lautet false, gibt zwei Nachrichten (einfach und formatiert) aus und zeigt ein Meldungsfeld an, in dem der Aufrufstapel angezeigt wird.
public:
static void Assert(bool condition, System::String ^ message, System::String ^ detailMessageFormat, ... cli::array <System::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);
[<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())
Parameter
- condition
- Boolean
Der auszuwertende bedingte Ausdruck. Wenn die Bedingung lautet true, werden die angegebenen Nachrichten nicht gesendet, und das Meldungsfeld wird nicht angezeigt.
- detailMessageFormat
- String
Die zusammengesetzte Formatzeichenfolge, die an die Listeners Auflistung gesendet werden soll. Diese Nachricht enthält Text, der args mit null oder mehr Formatelementen gemischt ist, die Objekten im Array entsprechen.
- args
- Object[]
Ein Objektarray, das null oder mehr Zu formatierende Objekte enthält.
- Attribute
Hinweise
Diese Methode verwendet das Zusammengesetztformatierungsfeature .NET , um den Wert eines Objekts in seine Textdarstellung zu konvertieren und diese Darstellung in eine Zeichenfolge einzubetten. Die resultierende Zeichenfolge wird an die Listeners Auflistung gesendet.
Standardmäßig funktioniert die Debug.Assert Methode nur in Debugbuilds. Verwenden Sie die Trace.Assert Methode, wenn Sie Assertionen in Releasebuilds ausführen möchten. Weitere Informationen finden Sie unter Assertionen in verwaltetem Code.
In der Regel wird die Assert(Boolean, String, String, Object[]) Methode verwendet, um Logikfehler während der Programmentwicklung zu identifizieren.
Assert wertet die Bedingung aus. Wenn das Ergebnis lautetfalse, wird die String.Format(String, Object[]) Methode aufgerufen, und die Zeichenfolge und args das detailMessageFormat Array werden als Parameter übergeben.
Assert(Boolean, String, String, Object[]) sendet dann die angegebene Textnachricht und die formatierte Textnachricht an die Listeners Sammlung. Sie können dieses Verhalten anpassen, indem Sie eine TraceListener der Auflistung hinzufügen oder aus dieser Listeners entfernen.
Wenn die Anwendung im Benutzeroberflächenmodus ausgeführt wird, wird ein Meldungsfeld angezeigt, in dem der Anrufstapel mit Datei- und Zeilennummern angezeigt wird. Das Meldungsfeld enthält drei Schaltflächen: "Abbrechen", " Wiederholen" und "Ignorieren". Durch Klicken auf die Schaltfläche " Abbrechen " wird die Anwendung beendet. Durch Klicken auf " Wiederholen" werden Sie an den Code im Debugger gesendet, wenn ihre Anwendung in einem Debugger ausgeführt wird, oder bietet an, einen Debugger zu öffnen, falls dies nicht der Fehler ist. Durch Klicken auf "Ignorieren" wird die nächste Anweisung im Code fortgesetzt.
Hinweis
Die Anzeige des Meldungsfelds hängt vom Vorhandensein der DefaultTraceListenerMeldung ab. Wenn sich die DefaultTraceListenerListeners Auflistung nicht befindet, wird das Meldungsfeld nicht angezeigt. Dies DefaultTraceListener kann durch Aufrufen der Clear Methode für die Listeners Eigenschaft (System.Diagnostics.Trace.Listeners.Clear()) entfernt werden. Für .NET Framework-Apps können Sie auch das <clear-Element> und das Remove-Element> in der< Konfigurationsdatei Ihrer App verwenden.
Für .NET Framework-Apps können Sie das Verhalten der DefaultTraceListener Konfigurationsdatei ändern, die dem Namen Ihrer Anwendung entspricht. In dieser Datei können Sie das Meldungsfeld "Assert" aktivieren und deaktivieren oder die DefaultTraceListener.LogFileName Eigenschaft festlegen. Die Konfigurationsdatei sollte wie folgt formatiert werden:
<configuration>
<system.diagnostics>
<assert assertuienabled="true" logfilename="c:\\myFile.log" />
</system.diagnostics>
</configuration>