52 lines
1.5 KiB
C#
52 lines
1.5 KiB
C#
|
//-----------------------------------------------------------------------------
|
||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
//-----------------------------------------------------------------------------
|
||
|
|
||
|
namespace System.Activities
|
||
|
{
|
||
|
using System;
|
||
|
using System.Activities.Runtime;
|
||
|
using System.Runtime;
|
||
|
|
||
|
[Fx.Tag.XamlVisible(false)]
|
||
|
public sealed class NativeActivityFaultContext : NativeActivityContext
|
||
|
{
|
||
|
bool isFaultHandled;
|
||
|
Exception exception;
|
||
|
ActivityInstanceReference source;
|
||
|
|
||
|
internal NativeActivityFaultContext(ActivityInstance executingActivityInstance,
|
||
|
ActivityExecutor executor, BookmarkManager bookmarkManager, Exception exception, ActivityInstanceReference source)
|
||
|
: base(executingActivityInstance, executor, bookmarkManager)
|
||
|
{
|
||
|
Fx.Assert(exception != null, "There must be an exception.");
|
||
|
Fx.Assert(source != null, "There must be a source.");
|
||
|
|
||
|
this.exception = exception;
|
||
|
this.source = source;
|
||
|
}
|
||
|
|
||
|
internal bool IsFaultHandled
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
return this.isFaultHandled;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public void HandleFault()
|
||
|
{
|
||
|
ThrowIfDisposed();
|
||
|
|
||
|
this.isFaultHandled = true;
|
||
|
}
|
||
|
|
||
|
internal FaultContext CreateFaultContext()
|
||
|
{
|
||
|
Fx.Assert(!this.IsDisposed, "We must not have been disposed.");
|
||
|
|
||
|
return new FaultContext(this.exception, this.source);
|
||
|
}
|
||
|
}
|
||
|
}
|