Share via


NativeActivity Kelas

Definisi

Kelas dasar abstrak untuk aktivitas kustom yang menerapkan logika eksekusi menggunakan Execute(NativeActivityContext) metode , yang memiliki akses penuh ke fitur runtime.

public ref class NativeActivity abstract : System::Activities::Activity
public abstract class NativeActivity : System.Activities.Activity
type NativeActivity = class
    inherit Activity
Public MustInherit Class NativeActivity
Inherits Activity
Warisan
NativeActivity
Turunan

Contoh

Sampel kode berikut menunjukkan pembuatan kelas yang mewarisi dari NativeActivity<TResult>. Contoh ini berasal dari Komposit Kustom menggunakan sampel Aktivitas Asli .

public sealed class MySequence : NativeActivity  
{  
    Collection<Activity> children;  
    Collection<Variable> variables;  
    Variable<int> currentIndex;  
    CompletionCallback onChildComplete;  

    public MySequence()  
        : base()  
    {  
        this.children = new Collection<Activity>();  
        this.variables = new Collection<Variable>();  
        this.currentIndex = new Variable<int>();  
    }  

    public Collection<Activity> Activities  
    {  
        get  
        {  
            return this.children;  
        }  
    }  
    public Collection<Variable> Variables  
    {  
        get  
        {  
            return this.variables;  
        }  
    }  
    protected override void CacheMetadata(NativeActivityMetadata metadata)  
    {  
        //call base.CacheMetadata to add the Activities and Variables to this activity's metadata  
        base.CacheMetadata(metadata);  
        //add the private implementation variable: currentIndex   
        metadata.AddImplementationVariable(this.currentIndex);  
    }                     

    protected override void Execute(NativeActivityContext context)  
    {  
        InternalExecute(context, null);  
    }  
    void InternalExecute(NativeActivityContext context, ActivityInstance instance)  
    {  
        //grab the index of the current Activity  
        int currentActivityIndex = this.currentIndex.Get(context);  
        if (currentActivityIndex == Activities.Count)  
        {  
            //if the currentActivityIndex is equal to the count of MySequence's Activities  
            //MySequence is complete  
            return;  
        }  

        if (this.onChildComplete == null)  
        {  
            //on completion of the current child, have the runtime call back on this method  
            this.onChildComplete = new CompletionCallback(InternalExecute);  
        }  
        //grab the next Activity in MySequence.Activities and schedule it  
        Activity nextChild = Activities[currentActivityIndex];  
        context.ScheduleActivity(nextChild, this.onChildComplete);  

        //increment the currentIndex  
        this.currentIndex.Set(context, ++currentActivityIndex);  
    }  
}  

Konstruktor

NativeActivity()

Saat diimplementasikan di kelas turunan, membuat instans baru dari kelas turunan.

Properti

CacheId

Mendapatkan pengidentifikasi cache yang unik dalam cakupan definisi alur kerja.

(Diperoleh dari Activity)
CanInduceIdle

Mendapatkan atau menetapkan nilai yang menunjukkan apakah aktivitas dapat menyebabkan alur kerja menjadi menganggur.

Constraints

Mendapatkan kumpulan Constraint aktivitas yang dapat dikonfigurasi untuk memberikan validasi untuk Activity.

(Diperoleh dari Activity)
DisplayName

Mendapatkan atau mengatur nama ramah opsional yang digunakan untuk penelusuran kesalahan, validasi, penanganan pengecualian, dan pelacakan.

(Diperoleh dari Activity)
Id

Mendapatkan pengidentifikasi yang unik dalam cakupan definisi alur kerja.

(Diperoleh dari Activity)
Implementation

Logika eksekusi aktivitas.

ImplementationVersion

Mendapatkan atau mengatur versi implementasi aktivitas.

ImplementationVersion

Mendapatkan atau mengatur versi implementasi yang digunakan.

(Diperoleh dari Activity)

Metode

Abort(NativeActivityAbortContext)

Saat diimplementasikan di kelas turunan, mengambil tindakan sebagai respons terhadap aktivitas yang dibatalkan.

CacheMetadata(ActivityMetadata)

Tidak diterapkan. Gunakan metode CacheMetadata(NativeActivityMetadata) sebagai gantinya.

CacheMetadata(NativeActivityMetadata)

Membuat dan memvalidasi deskripsi argumen, variabel, aktivitas anak, dan delegasi aktivitas aktivitas.

Cancel(NativeActivityContext)

Ketika diimplementasikan di kelas turunan, menjalankan logika untuk menyebabkan penyelesaian awal aktivitas yang anggun.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
Execute(NativeActivityContext)

Saat diimplementasikan di kelas turunan, menjalankan logika eksekusi aktivitas.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity)

Menaikkan peristiwa saat membuat peta untuk pembaruan dinamis.

OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Menaikkan peristiwa saat membuat peta untuk pembaruan dinamis.

OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Menaikkan peristiwa saat membuat peta pembaruan dinamis.

(Diperoleh dari Activity)
ShouldSerializeDisplayName()

Menunjukkan apakah DisplayName properti harus diserialisasikan.

(Diperoleh dari Activity)
ToString()

Mengembalikan yang String berisi Id dan DisplayName dari Activity.

(Diperoleh dari Activity)
UpdateInstance(NativeActivityUpdateContext)

Updates instans NativeActivity.

Berlaku untuk