Freigeben über


Debug.Assert Methode

Definition

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 false, wird ein Meldungsfeld mit dem Aufrufstapel angezeigt.

Assert(Boolean, Debug+AssertInterpolatedStringHandler)

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.

Assert(Boolean, String)

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.

Assert(Boolean, Debug+AssertInterpolatedStringHandler, Debug+AssertInterpolatedStringHandler)

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.

Assert(Boolean, String, String)

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.

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

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.

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

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.

message
Debug.AssertInterpolatedStringHandler

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

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.

message
String

Die Nachricht, die an die Listeners Sammlung gesendet werden soll.

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

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.

message
Debug.AssertInterpolatedStringHandler

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

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.

message
String

Die Nachricht, die an die Listeners Sammlung gesendet werden soll.

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

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.

message
String

Die Nachricht, die an die Listeners Sammlung gesendet werden soll.

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>

Gilt für: