NativeActivity<TResult> 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使用 Execute(NativeActivityContext) 该方法实现执行逻辑的自定义活动的抽象基类,具有对运行时功能的完全访问权限。
generic <typename TResult>
public ref class NativeActivity abstract : System::Activities::Activity<TResult>
public abstract class NativeActivity<TResult> : System.Activities.Activity<TResult>
type NativeActivity<'Result> = class
inherit Activity<'Result>
Public MustInherit Class NativeActivity(Of TResult)
Inherits Activity(Of TResult)
类型参数
- TResult
活动返回的结果。
- 继承
- 派生
示例
下面的代码示例演示如何创建继承自 NativeActivity<TResult>. 此示例来自 How to: Create an Activity step of the Getting Started Tutorial [.NET Framework 4.5]。
public sealed class ReadInt : NativeActivity<int>
{
[RequiredArgument]
public InArgument<string> BookmarkName { get; set; }
protected override void Execute(NativeActivityContext context)
{
string name = BookmarkName.Get(context);
if (string.IsNullOrEmpty(name))
{
throw new ArgumentException("BookmarkName cannot be an Empty string.",
"BookmarkName");
}
context.CreateBookmark(name, new BookmarkCallback(OnReadComplete));
}
// NativeActivity derived activities that do asynchronous operations by calling
// one of the CreateBookmark overloads defined on System.Activities.NativeActivityContext
// must override the CanInduceIdle property and return true.
protected override bool CanInduceIdle
{
get { return true; }
}
void OnReadComplete(NativeActivityContext context, Bookmark bookmark, object state)
{
this.Result.Set(context, Convert.ToInt32(state));
}
}
Public NotInheritable Class ReadInt
Inherits NativeActivity(Of Integer)
<RequiredArgument()>
Property BookmarkName() As InArgument(Of String)
Protected Overrides Sub Execute(ByVal context As NativeActivityContext)
Dim name As String
name = BookmarkName.Get(context)
If name = String.Empty Then
Throw New ArgumentException("BookmarkName cannot be an Empty string.",
"BookmarkName")
End If
context.CreateBookmark(name, New BookmarkCallback(AddressOf OnReadComplete))
End Sub
' NativeActivity derived activities that do asynchronous operations by calling
' one of the CreateBookmark overloads defined on System.Activities.NativeActivityContext
' must override the CanInduceIdle property and return True.
Protected Overrides ReadOnly Property CanInduceIdle As Boolean
Get
Return True
End Get
End Property
Sub OnReadComplete(ByVal context As NativeActivityContext, ByVal bookmark As Bookmark, ByVal state As Object)
Result.Set(context, Convert.ToInt32(state))
End Sub
End Class
构造函数
| 名称 | 说明 |
|---|---|
| NativeActivity<TResult>() |
在派生类中实现时,创建派生类的新实例。 |
属性
| 名称 | 说明 |
|---|---|
| CacheId |
获取在工作流定义范围内唯一的缓存的标识符。 (继承自 Activity) |
| CanInduceIdle |
获取或设置一个值,该值指示活动是否可能导致工作流处于空闲状态。 |
| Constraints |
获取可配置为提供验证的活动Constraint集合Activity。 (继承自 Activity) |
| DisplayName |
获取或设置用于调试、验证、异常处理和跟踪的可选友好名称。 (继承自 Activity) |
| Id |
获取工作流定义范围中唯一的标识符。 (继承自 Activity) |
| Implementation |
活动的执行逻辑。 |
| ImplementationVersion |
获取或设置活动的实现版本。 |
| Result |
获取或设置 . Activity<TResult>. 的结果参数。 (继承自 Activity<TResult>) |
| ResultType |
在派生类中实现时,获取活动 OutArgument的类型。 (继承自 ActivityWithResult) |
方法
| 名称 | 说明 |
|---|---|
| Abort(NativeActivityAbortContext) |
在派生类中实现时,对中止的活动执行操作。 |
| CacheMetadata(ActivityMetadata) | |
| CacheMetadata(NativeActivityMetadata) |
创建并验证活动参数、变量、子活动和活动委托的说明。 |
| Cancel(NativeActivityContext) |
在派生类中实现时,运行逻辑以正常提前完成活动。 |
| Equals(Object) |
确定指定的对象是否等于当前对象。 (继承自 Object) |
| Execute(NativeActivityContext) |
在派生类中实现时,运行活动的执行逻辑。 |
| GetHashCode() |
用作默认哈希函数。 (继承自 Object) |
| GetType() |
获取当前实例的 Type。 (继承自 Object) |
| MemberwiseClone() |
创建当前 Object的浅表副本。 (继承自 Object) |
| OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity) |
为动态更新创建映射时引发事件。 |
| OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
为动态更新创建映射时引发事件。 |
| ShouldSerializeDisplayName() |
指示是否 DisplayName 应序列化属性。 (继承自 Activity) |
| ToString() |
返回一个String包含Id和 DisplayName //Activity (继承自 Activity) |
| UpdateInstance(NativeActivityUpdateContext) |
更新 . 的 NativeActivity<TResult>实例。 |