Contract.ContractFailed 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
协定失败时发生。
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 方法来指示代码展开。 在这种情况下,在执行所有处理程序后将引发异常。