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


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

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

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

Параметры

condition
Boolean

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

Атрибуты

Примеры

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

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

Комментарии

По умолчанию 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

Проверяет условие. Если условие имеет значение 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

Проверяет условие. Если условие имеет значение 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);
[<System.Diagnostics.Conditional("DEBUG")>]
static member Assert : bool * string -> unit
Public Shared Sub Assert (condition As Boolean, message As String)

Параметры

condition
Boolean

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

message
String

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

Атрибуты

Примеры

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

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

Комментарии

По умолчанию 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

Проверяет условие. Если условие имеет значение 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

Проверяет условие. Если условие имеет значение 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 . Если type имеет значение null, Assert выводит два сообщения.

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

Комментарии

По умолчанию 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

Проверяет условие; если условие имеет значение 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>

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