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> 的類別。 此範例來自如何:建立 使用者入門 教學課程 [.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 |
取得或設定活動的實作版本。 |
ImplementationVersion |
取得或設定所使用實作的版本。 (繼承來源 Activity) |
Result |
取得或設定 Activity<TResult> 的結果引數。 (繼承來源 Activity<TResult>) |
ResultType |
在衍生類別中實作時,取得活動 OutArgument 的型別。 (繼承來源 ActivityWithResult) |
方法
Abort(NativeActivityAbortContext) |
在衍生類別中實作時,會採取動作以回應中止的活動。 |
CacheMetadata(ActivityMetadata) |
未實作。 請改用 CacheMetadata(NativeActivityMetadata)。 |
CacheMetadata(NativeActivityMetadata) |
建立並驗證活動引數、變數、子活動和活動委派的描述。 |
Cancel(NativeActivityContext) |
在衍生類別中實作時,執行邏輯以便在非失誤性的狀況下及早完成活動。 |
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
Execute(NativeActivityContext) |
在衍生類別中實作時,執行活動的執行邏輯。 |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity) |
建立動態更新的對應時引發事件。 |
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
建立動態更新的對應時引發事件。 |
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
建立動態更新對應時引發事件。 (繼承來源 Activity) |
ShouldSerializeDisplayName() |
指出是否應序列化 DisplayName 屬性。 (繼承來源 Activity) |
ToString() |
傳回包含 的 和 的 。 (繼承來源 Activity) |
UpdateInstance(NativeActivityUpdateContext) |
更新 NativeActivity<TResult> 的執行個體。 |