Contract.ContractFailed 事件

定义

协定失败时发生。

public:
 static event EventHandler<System::Diagnostics::Contracts::ContractFailedEventArgs ^> ^ ContractFailed;
public static event EventHandler<System.Diagnostics.Contracts.ContractFailedEventArgs> ContractFailed;
public static event EventHandler<System.Diagnostics.Contracts.ContractFailedEventArgs>? ContractFailed;
[add: System.Security.SecurityCritical]
[remove: System.Security.SecurityCritical]
public static event EventHandler<System.Diagnostics.Contracts.ContractFailedEventArgs> ContractFailed;
member this.ContractFailed : EventHandler<System.Diagnostics.Contracts.ContractFailedEventArgs> 
[<add: System.Security.SecurityCritical>]
[<remove: System.Security.SecurityCritical>]
member this.ContractFailed : EventHandler<System.Diagnostics.Contracts.ContractFailedEventArgs> 
Public Shared Custom Event ContractFailed As EventHandler(Of ContractFailedEventArgs) 

事件类型

属性

注解

此事件的事件信息由传递给事件处理程序的 System.Diagnostics.Contracts.ContractFailedEventArgs 对象提供。 此事件通知托管应用程序环境(例如交互式解释器或 Web 浏览器主机)协定已失败。 在执行此操作之前,它会引发一个事件,应用程序可以根据需要处理该事件。 例如,如果代码在测试框架中运行,则可以记录测试失败,然后结束测试。

.NET Framework 类库中 方法的默认实现RaiseContractFailedEvent是调用向 事件注册ContractFailed的每个处理程序。 处理程序引发的异常将被忽略,但每个处理程序都可以通过为事件参数调用 SetHandled 方法来指示是否处理失败。 如果任何处理程序将失败设置为已处理,则该方法将返回 null 并且不执行进一步操作。 或者,处理程序可以调用 SetUnwind 方法来指示代码展开。 在这种情况下,在执行所有处理程序后将引发异常。

适用于