Поделиться через


Debug.Assert Метод

Определение

Проверка условия; Если условие равно false, выводит сообщения и отображает окно сообщения, отображающее стек вызовов.

Перегрузки

Имя Описание
Assert(Boolean)

Проверка условия; Если условие задано false, отображается окно сообщения, в котором показан стек вызовов.

Assert(Boolean, Debug+AssertInterpolatedStringHandler)

Проверка условия; Если условие равно false, выводит указанное сообщение и отображает окно сообщения, отображающее стек вызовов.

Assert(Boolean, String)

Проверка условия; Если условие равно false, выводит указанное сообщение и отображает окно сообщения, отображающее стек вызовов.

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

Проверка условия; Если условие равно false, выводит указанное сообщение и отображает окно сообщения, отображающее стек вызовов.

Assert(Boolean, String, String)

Проверка условия; Если условие равно false, выводит два указанных сообщения и отображает окно сообщения, отображающее стек вызовов.

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

Проверка условия; Если условие равно false, выводит два сообщения (простые и отформатированные) и отображает окно сообщения, отображающее стек вызовов.

Assert(Boolean)

Исходный код:
Debug.cs
Исходный код:
Debug.cs
Исходный код:
Debug.cs
Исходный код:
Debug.cs
Исходный код:
Debug.cs

Проверка условия; Если условие задано false, отображается окно сообщения, в котором показан стек вызовов.

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)

Параметры

condition
Boolean

Условное выражение для вычисления. Если условие задано true, сообщение об ошибке не отправляется, а поле сообщения не отображается.

Атрибуты

Примеры

В следующем примере создается индекс для массива, выполняется некоторое действие, чтобы задать значение индекса, а затем вызывается Assert для подтверждения допустимости значения индекса. Если это недопустимо, Assert выводит стек вызовов.

// 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))

Комментарии

По умолчанию Debug.Assert метод работает только в отладочных сборках. Используйте метод, Trace.Assert если вы хотите выполнить утверждения в сборках выпуска. Дополнительные сведения см. в разделе "Утверждения" в управляемом коде.

Как правило, Assert(Boolean) метод используется для выявления ошибок логики во время разработки программы. Assert вычисляет условие. Если результат есть false, он отправляет сообщение об ошибке в коллекцию Listeners . Это поведение можно настроить, добавив его TraceListener или удалив из Listeners коллекции.

При запуске приложения в режиме пользовательского интерфейса отображается окно сообщения, в котором отображается стек вызовов с номерами файлов и строк. Поле сообщения содержит три кнопки: "Прерывание", " Повтор" и "Игнорировать". Нажатие кнопки "Прерывание " завершает работу приложения. Если приложение работает в отладчике, то при нажатии кнопки "Повторить попытку " вы отправляете код в отладчик или предлагает открыть отладчик, если он отсутствует. Нажатие кнопки "Игнорировать" продолжается со следующей инструкцией в коде.

Замечание

Приложения Windows 8.x не поддерживают модальные диалоговые окна, поэтому они ведут себя одинаково в режиме пользовательского интерфейса и не пользовательском интерфейсе. Сообщение записывается в активные прослушиватели трассировки в режиме отладки или сообщение не записывается в режиме выпуска.

Замечание

Отображение поля сообщения зависит от наличия DefaultTraceListener. Если объект DefaultTraceListener не находится в Listeners коллекции, окно сообщения не отображается. Его DefaultTraceListener можно удалить путем вызова Clear метода в свойстве Listeners (System.Diagnostics.Trace.Listeners.Clear()). Для приложений .NET Framework можно также использовать <элемент clear> и <элемент remove> в файле конфигурации приложения.

Для приложений .NET Framework можно изменить поведение DefaultTraceListener файла конфигурации, соответствующего имени приложения. В этом файле можно включить и отключить поле сообщения утверждения или задать DefaultTraceListener.LogFileName свойство. Файл конфигурации должен быть отформатирован следующим образом:

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

См. также раздел

Применяется к

Assert(Boolean, Debug+AssertInterpolatedStringHandler)

Исходный код:
Debug.cs
Исходный код:
Debug.cs
Исходный код:
Debug.cs
Исходный код:
Debug.cs
Исходный код:
Debug.cs

Проверка условия; Если условие равно false, выводит указанное сообщение и отображает окно сообщения, отображающее стек вызовов.

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)

Параметры

condition
Boolean

Условное выражение для вычисления. Если условие задано true, указанное сообщение не отправляется, а поле сообщения не отображается.

message
Debug.AssertInterpolatedStringHandler

Сообщение для отправки в коллекцию Listeners .

Атрибуты

Комментарии

Эта перегрузка была введена в .NET 6 для повышения производительности. По сравнению с перегрузками, которые принимают String параметр, эта перегрузка оценивает только любые интерполированные элементы форматирования строк, если это сообщение необходимо.

По умолчанию Debug.Assert метод работает только в отладочных сборках. Используйте метод, Trace.Assert если вы хотите выполнить утверждения в сборках выпуска. Дополнительные сведения см. в разделе "Утверждения" в управляемом коде.

Как правило, Assert метод используется для выявления ошибок логики во время разработки программы. Assert вычисляет условие. Если результат имеет значение false, он отправляет указанное диагностическое сообщение в коллекцию Listeners . Это поведение можно настроить, добавив его TraceListener или удалив из Listeners коллекции.

При запуске приложения в режиме пользовательского интерфейса отображается окно сообщения, в котором отображается стек вызовов с номерами файлов и строк. Поле сообщения содержит три кнопки: "Прерывание", " Повтор" и "Игнорировать". Нажатие кнопки "Прерывание " завершает работу приложения. Если приложение работает в отладчике, то при нажатии кнопки "Повторить попытку " вы отправляете код в отладчик или предлагает открыть отладчик, если он отсутствует. Нажатие кнопки "Игнорировать" продолжается со следующей инструкцией в коде.

Замечание

Отображение поля сообщения зависит от наличия DefaultTraceListener. Если объект DefaultTraceListener не находится в Listeners коллекции, окно сообщения не отображается. Его DefaultTraceListener можно удалить путем вызова Clear метода в свойстве Listeners (System.Diagnostics.Trace.Listeners.Clear()). Для приложений .NET Framework можно также использовать <элемент clear> и <элемент remove> в файле конфигурации приложения.

Для приложений .NET Framework можно изменить поведение DefaultTraceListener файла конфигурации, соответствующего имени приложения. В этом файле можно включить и отключить поле сообщения утверждения или задать DefaultTraceListener.LogFileName свойство. Файл конфигурации должен быть отформатирован следующим образом:

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

См. также раздел

Применяется к

Assert(Boolean, String)

Исходный код:
Debug.cs
Исходный код:
Debug.cs
Исходный код:
Debug.cs
Исходный код:
Debug.cs
Исходный код:
Debug.cs

Проверка условия; Если условие равно false, выводит указанное сообщение и отображает окно сообщения, отображающее стек вызовов.

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)

Параметры

condition
Boolean

Условное выражение для вычисления. Если условие задано true, указанное сообщение не отправляется, а поле сообщения не отображается.

message
String

Сообщение для отправки в коллекцию Listeners .

Атрибуты

Примеры

В следующем примере проверяется, является ли параметр допустимым type . В противном случае typenullAssert выводит сообщение.

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

Комментарии

По умолчанию Debug.Assert метод работает только в отладочных сборках. Используйте метод, Trace.Assert если вы хотите выполнить утверждения в сборках выпуска. Дополнительные сведения см. в разделе "Утверждения" в управляемом коде.

Как правило, Assert метод используется для выявления ошибок логики во время разработки программы. Assert вычисляет условие. Если результат имеет значение false, он отправляет указанное диагностическое сообщение в коллекцию Listeners . Это поведение можно настроить, добавив его TraceListener или удалив из Listeners коллекции.

При запуске приложения в режиме пользовательского интерфейса отображается окно сообщения, в котором отображается стек вызовов с номерами файлов и строк. Поле сообщения содержит три кнопки: "Прерывание", " Повтор" и "Игнорировать". Нажатие кнопки "Прерывание " завершает работу приложения. Если приложение работает в отладчике, то при нажатии кнопки "Повторить попытку " вы отправляете код в отладчик или предлагает открыть отладчик, если он отсутствует. Нажатие кнопки "Игнорировать" продолжается со следующей инструкцией в коде.

Замечание

Отображение поля сообщения зависит от наличия DefaultTraceListener. Если объект DefaultTraceListener не находится в Listeners коллекции, окно сообщения не отображается. Его DefaultTraceListener можно удалить путем вызова Clear метода в свойстве Listeners (System.Diagnostics.Trace.Listeners.Clear()). Для приложений .NET Framework можно также использовать <элемент clear> и <элемент remove> в файле конфигурации приложения.

Для приложений .NET Framework можно изменить поведение DefaultTraceListener файла конфигурации, соответствующего имени приложения. В этом файле можно включить и отключить поле сообщения утверждения или задать DefaultTraceListener.LogFileName свойство. Файл конфигурации должен быть отформатирован следующим образом:

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

См. также раздел

Применяется к

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

Исходный код:
Debug.cs
Исходный код:
Debug.cs
Исходный код:
Debug.cs
Исходный код:
Debug.cs
Исходный код:
Debug.cs

Проверка условия; Если условие равно false, выводит указанное сообщение и отображает окно сообщения, отображающее стек вызовов.

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)

Параметры

condition
Boolean

Условное выражение для вычисления. Если условие задано true, указанное сообщение не отправляется, а поле сообщения не отображается.

message
Debug.AssertInterpolatedStringHandler

Сообщение для отправки в коллекцию Listeners .

detailMessage
Debug.AssertInterpolatedStringHandler

Подробное сообщение для отправки в коллекцию Listeners .

Атрибуты

Комментарии

Эта перегрузка была введена в .NET 6 для повышения производительности. По сравнению с перегрузками, которые принимают String параметр, эта перегрузка оценивает только любые интерполированные элементы форматирования строк, если это сообщение необходимо.

По умолчанию Debug.Assert метод работает только в отладочных сборках. Используйте метод, Trace.Assert если вы хотите выполнить утверждения в сборках выпуска. Дополнительные сведения см. в разделе "Утверждения" в управляемом коде.

Как правило, Assert метод используется для выявления ошибок логики во время разработки программы. Assert вычисляет условие. Если результат имеет значение false, он отправляет указанное диагностическое сообщение в коллекцию Listeners . Это поведение можно настроить, добавив его TraceListener или удалив из Listeners коллекции.

При запуске приложения в режиме пользовательского интерфейса отображается окно сообщения, в котором отображается стек вызовов с номерами файлов и строк. Поле сообщения содержит три кнопки: "Прерывание", " Повтор" и "Игнорировать". Нажатие кнопки "Прерывание " завершает работу приложения. Если приложение работает в отладчике, то при нажатии кнопки "Повторить попытку " вы отправляете код в отладчик или предлагает открыть отладчик, если он отсутствует. Нажатие кнопки "Игнорировать" продолжается со следующей инструкцией в коде.

Замечание

Отображение поля сообщения зависит от наличия DefaultTraceListener. Если объект DefaultTraceListener не находится в Listeners коллекции, окно сообщения не отображается. Его DefaultTraceListener можно удалить путем вызова Clear метода в свойстве Listeners (System.Diagnostics.Trace.Listeners.Clear()). Для приложений .NET Framework можно также использовать <элемент clear> и <элемент remove> в файле конфигурации приложения.

Для приложений .NET Framework можно изменить поведение DefaultTraceListener файла конфигурации, соответствующего имени приложения. В этом файле можно включить и отключить поле сообщения утверждения или задать DefaultTraceListener.LogFileName свойство. Файл конфигурации должен быть отформатирован следующим образом:

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

См. также раздел

Применяется к

Assert(Boolean, String, String)

Исходный код:
Debug.cs
Исходный код:
Debug.cs
Исходный код:
Debug.cs
Исходный код:
Debug.cs
Исходный код:
Debug.cs

Проверка условия; Если условие равно false, выводит два указанных сообщения и отображает окно сообщения, отображающее стек вызовов.

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)

Параметры

condition
Boolean

Условное выражение для вычисления. Если условие задано true, указанные сообщения не отправляются, а поле сообщения не отображается.

message
String

Сообщение для отправки в коллекцию Listeners .

detailMessage
String

Подробное сообщение для отправки в коллекцию Listeners .

Атрибуты

Примеры

В следующем примере проверяется, является ли параметр допустимым type . В противном случае typenullAssert выводит два сообщения.

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

Комментарии

По умолчанию Debug.Assert метод работает только в отладочных сборках. Используйте метод, Trace.Assert если вы хотите выполнить утверждения в сборках выпуска. Дополнительные сведения см. в разделе "Утверждения" в управляемом коде.

Как правило, Assert(Boolean, String, String) метод используется для выявления ошибок логики во время разработки программы. Assert вычисляет условие. Если результат имеет значение false, он отправляет указанное диагностическое сообщение и подробное сообщение в коллекцию Listeners . Это поведение можно настроить, добавив его TraceListener или удалив из Listeners коллекции.

При запуске приложения в режиме пользовательского интерфейса отображается окно сообщения, в котором отображается стек вызовов с номерами файлов и строк. Поле сообщения содержит три кнопки: "Прерывание", " Повтор" и "Игнорировать". Нажатие кнопки "Прерывание " завершает работу приложения. Если приложение работает в отладчике, то при нажатии кнопки "Повторить попытку " вы отправляете код в отладчик или предлагает открыть отладчик, если он отсутствует. Нажатие кнопки "Игнорировать" продолжается со следующей инструкцией в коде.

Замечание

Отображение поля сообщения зависит от наличия DefaultTraceListener. Если объект DefaultTraceListener не находится в Listeners коллекции, окно сообщения не отображается. Его DefaultTraceListener можно удалить путем вызова Clear метода в свойстве Listeners (System.Diagnostics.Trace.Listeners.Clear()). Для приложений .NET Framework можно также использовать <элемент clear> и <элемент remove> в файле конфигурации приложения.

Для приложений .NET Framework можно изменить поведение DefaultTraceListener файла конфигурации, соответствующего имени приложения. В этом файле можно включить и отключить поле сообщения утверждения или задать DefaultTraceListener.LogFileName свойство. Файл конфигурации должен быть отформатирован следующим образом:

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

См. также раздел

Применяется к

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

Исходный код:
Debug.cs
Исходный код:
Debug.cs
Исходный код:
Debug.cs
Исходный код:
Debug.cs
Исходный код:
Debug.cs

Проверка условия; Если условие равно false, выводит два сообщения (простые и отформатированные) и отображает окно сообщения, отображающее стек вызовов.

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())

Параметры

condition
Boolean

Условное выражение для вычисления. Если условие задано true, указанные сообщения не отправляются, а поле сообщения не отображается.

message
String

Сообщение для отправки в коллекцию Listeners .

detailMessageFormat
String

Строка составного формата для отправки в коллекцию Listeners . Это сообщение содержит текст, пересекаемый с нулевым или более форматируемыми элементами, которые соответствуют объектам в массиве args .

args
Object[]

Массив объектов, содержащий ноль или больше объектов для форматирования.

Атрибуты

Комментарии

Этот метод использует функцию составного форматирования .NET для преобразования значения объекта в текстовое представление и внедрения этого представления в строку. Результирующая строка отправляется в коллекцию Listeners .

По умолчанию Debug.Assert метод работает только в отладочных сборках. Используйте метод, Trace.Assert если вы хотите выполнить утверждения в сборках выпуска. Дополнительные сведения см. в разделе "Утверждения" в управляемом коде.

Как правило, Assert(Boolean, String, String, Object[]) метод используется для выявления ошибок логики во время разработки программы. Assert вычисляет условие. Если результат имеет значение false, String.Format(String, Object[]) метод вызывается, а detailMessageFormat строка и args массив передаются в качестве параметров. Assert(Boolean, String, String, Object[]) затем отправляет указанное текстовое сообщение и отформатированное текстовое сообщение в коллекцию Listeners . Это поведение можно настроить, добавив его TraceListener или удалив из Listeners коллекции.

При запуске приложения в режиме пользовательского интерфейса отображается окно сообщения, в котором отображается стек вызовов с номерами файлов и строк. Поле сообщения содержит три кнопки: "Прерывание", " Повтор" и "Игнорировать". Нажатие кнопки "Прерывание " завершает работу приложения. Если приложение работает в отладчике, то при нажатии кнопки "Повторить попытку " вы отправляете код в отладчик или предлагает открыть отладчик, если он отсутствует. Нажатие кнопки "Игнорировать" продолжается со следующей инструкцией в коде.

Замечание

Отображение поля сообщения зависит от наличия DefaultTraceListener. Если объект DefaultTraceListener не находится в Listeners коллекции, окно сообщения не отображается. Его DefaultTraceListener можно удалить путем вызова Clear метода в свойстве Listeners (System.Diagnostics.Trace.Listeners.Clear()). Для приложений .NET Framework можно также использовать <элемент clear> и <элемент remove> в файле конфигурации приложения.

Для приложений .NET Framework можно изменить поведение DefaultTraceListener файла конфигурации, соответствующего имени приложения. В этом файле можно включить и отключить поле сообщения утверждения или задать DefaultTraceListener.LogFileName свойство. Файл конфигурации должен быть отформатирован следующим образом:

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

Применяется к