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

Nama Deskripsi
NativeActivity()

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

Properti

Nama Deskripsi
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.

Metode

Nama Deskripsi
Abort(NativeActivityAbortContext)

Ketika diimplementasikan dalam 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 aktivitas, variabel, aktivitas anak, dan delegasi aktivitas.

Cancel(NativeActivityContext)

Ketika diimplementasikan dalam 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 dalam kelas turunan, menjalankan logika eksekusi aktivitas.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(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.

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)

Memperbarui instans NativeActivity.

Berlaku untuk