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] 的 How to: Create an Activity 步驟。
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
建構函式
| 名稱 | Description |
|---|---|
| NativeActivity<TResult>() |
當在導出類別中實作時,會建立該衍生類別的新實例。 |
屬性
| 名稱 | Description |
|---|---|
| CacheId |
取得在工作流程定義範圍內唯一且快取識別碼的識別碼。 (繼承來源 Activity) |
| CanInduceIdle |
取得或設定一個值,指示該活動是否會導致工作流程進入閒置狀態。 |
| Constraints |
取得一組 Constraint 可設定以驗證 的 Activity活動集合。 (繼承來源 Activity) |
| DisplayName |
取得或設定一個可選的友善名稱,用於除錯、驗證、異常處理及追蹤。 (繼承來源 Activity) |
| Id |
取得一個在工作流程定義範圍內唯一的識別碼。 (繼承來源 Activity) |
| Implementation |
活動的執行邏輯。 |
| ImplementationVersion |
取得或設定活動的實作版本。 |
| Result |
取得或設定 的結果參數。Activity<TResult> (繼承來源 Activity<TResult>) |
| ResultType |
當在導出類別中實作時,會得到活動的型態 OutArgument。 (繼承來源 ActivityWithResult) |
方法
| 名稱 | Description |
|---|---|
| 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) |
在為動態更新建立地圖時會觸發事件。 |
| ShouldSerializeDisplayName() |
指示該物業是否 DisplayName 應該進行序列化。 (繼承來源 Activity) |
| ToString() |
回傳 String 包含 Id 的 和 DisplayNameActivity的 a。 (繼承來源 Activity) |
| UpdateInstance(NativeActivityUpdateContext) |
更新 的 NativeActivity<TResult>實例。 |