diff options
Diffstat (limited to 'src/mscorlib/src/System/Diagnostics/AssertFilter.cs')
-rw-r--r-- | src/mscorlib/src/System/Diagnostics/AssertFilter.cs | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/mscorlib/src/System/Diagnostics/AssertFilter.cs b/src/mscorlib/src/System/Diagnostics/AssertFilter.cs new file mode 100644 index 0000000000..b301776a22 --- /dev/null +++ b/src/mscorlib/src/System/Diagnostics/AssertFilter.cs @@ -0,0 +1,45 @@ +// Copyright (c) Microsoft. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +namespace System.Diagnostics { + + + using System; + using System.Runtime.Versioning; + // A Filter is used to decide whether an assert failure + // should terminate the program (or invoke the debugger). + // Typically this is done by popping up a dialog & asking the user. + // + // The default filter brings up a simple Win32 dialog with 3 buttons. + + [Serializable] + abstract internal class AssertFilter + { + + // Called when an assert fails. This should be overridden with logic which + // determines whether the program should terminate or not. Typically this + // is done by asking the user. + // + // The windowTitle can be null. + abstract public AssertFilters AssertFailure(String condition, String message, + StackTrace location, StackTrace.TraceFormat stackTraceFormat, String windowTitle); + + } + // No data, does not need to be marked with the serializable attribute + internal class DefaultFilter : AssertFilter + { + internal DefaultFilter() + { + } + + [System.Security.SecuritySafeCritical] // auto-generated + public override AssertFilters AssertFailure(String condition, String message, + StackTrace location, StackTrace.TraceFormat stackTraceFormat, + String windowTitle) + + { + return (AssertFilters) Assert.ShowDefaultAssertDialog (condition, message, location.ToString(stackTraceFormat), windowTitle); + } + } + +} |