Bagikan melalui


Kelas Dasar NativeActivity

NativeActivity adalah kelas abstrak dengan konstruktor yang dilindungi. Seperti CodeActivity, NativeActivity digunakan untuk menulis perilaku imperatif dengan menerapkan Execute metode . Tidak seperti CodeActivity, NativeActivity memiliki akses ke semua fitur runtime alur kerja yang diekspos melalui objek yang NativeActivityContext diteruskan ke Execute metode .

Menggunakan NativeActivityContext

Fitur runtime alur kerja dapat diakses dari dalam metode Execute dengan menggunakan anggota parameter context, dengan jenis NativeActivityContext. Fitur yang tersedia melalui NativeActivityContext meliputi yang berikut ini:

Untuk membuat aktivitas kustom yang mewarisi dari NativeActivity

  1. OpenVisual Studio 2010.

  2. Pilih File, Baru, lalu Proyek. Pilih Alur Kerja 4.0 di bawah Visual C# di jendela Jenis Proyek , dan pilih simpul v2010 . Pilih Pustaka Aktivitas di jendela Templat . Beri nama proyek baru HelloActivity.

  3. Klik kanan Activity1.xaml di proyek HelloActivity dan pilih Hapus.

  4. Klik kanan proyek HelloActivity dan pilih Tambahkan, lalu Kelas. Beri nama kelas baru tersebut HelloActivity.cs.

  5. Dalam file HelloActivity.cs, tambahkan arahan berikut using .

    using System.Activities;
    using System.Activities.Statements;
    
  6. Buatlah kelas baru mewarisi dari NativeActivity dengan menambahkan kelas dasar pada deklarasi kelas.

    class HelloActivity : NativeActivity
    
  7. Tambahkan fungsionalitas ke kelas dengan menambahkan Execute metode .

    protected override void Execute(NativeActivityContext context)
    {
        Console.WriteLine("Hello World!");
    }
    
  8. Ambil alih CacheMetadata metode dan panggil metode Tambahkan yang sesuai untuk memberi tahu runtime alur kerja tentang variabel, argumen, turunan, dan delegasi aktivitas kustom. Untuk informasi selengkapnya, lihat kelas NativeActivityMetadata.

  9. Gunakan objek NativeActivityContext untuk menjadwalkan penanda. Lihat Bookmarks untuk detail tentang cara membuat, menjadwalkan, dan melanjutkan bookmark.

    protected override void Execute(NativeActivityContext context)
        {
            // Create a Bookmark and wait for it to be resumed.
            context.CreateBookmark(BookmarkName.Get(context),
                new BookmarkCallback(OnResumeBookmark));
        }