Aracılığıyla paylaş


İş Akışı Tasarımcısında etkinlik temsilcileri tanımlama ve kullanma

.NET Framework 4.5, etkinlik için InvokeDelegate kullanıma hazır bir tasarımcı içerir. Bu tasarımcı, veya ActivityFunc<TResult>gibi ActivityAction 'den ActivityDelegatetüretilen etkinliğe temsilci atamak için kullanılabilir.

Etkinlik temsilcisi tanımlama

  1. Yeni bir İş Akışı Konsol Uygulaması projesi oluşturun.

    Not

    İş Akışı proje şablonlarını görmüyorsanız, önce Visual Studio'nun Windows Workflow Foundation bileşenini yükleyin. Ayrıntılı yönergeler için bkz . Windows Workflow Foundation'ı yükleme.

  2. Çözüm Gezgini'da projeye sağ tıklayın ve Yeni Öğe Ekle'yi> seçin. İş akışı kategorisini ve ardından Etkinlik öğesi şablonunu seçin. Yeni etkinliği MyForEach.xaml olarak adlandırın ve Tamam'ı seçin.

    Etkinlik iş akışı tasarımcısında açılır.

  3. İş Akışı Tasarım Aracı Bağımsız Değişkenler sekmesine tıklayın.

  4. Bağımsız Değişken Oluştur'a tıklayın. Yeni bağımsız değişkene Items adını verin.

  5. Bağımsız değişken türü sütununda [T] Dizisi'ni seçin.

  6. Tür tarayıcısında Nesne'yi ve ardından Tamam'ı seçin.

  7. Bağımsız Değişken Oluştur'a yeniden tıklayın. Yeni bağımsız değişkeni Gövde olarak adlandırın. Yeni bağımsız değişkenin Yön sütununda Özellik'i seçin.

  8. Bağımsız Değişken Türü sütununda Türlere gözat'ı seçin

  9. Tür tarayıcısında, Tür Adı alanına ActivityAction yazın. Ağaç görünümünde ActivityAction<T> öğesini seçin. Bağımsız değişkene ActivityAction<Nesnesi türünü atamak için görüntülenen açılan listede Nesne'yi> seçin.

  10. Araç kutusunun Denetim Akışı bölümünden bir While etkinliği tasarımcı yüzeyine sürükleyin.

  11. While Etkinliği seçin ve Değişkenler sekmesini seçin.

  12. Değişken Oluştur'u seçin. Yeni değişkeni Dizin olarak adlandırın.

  13. Değişken türü sütununda Int32'yi seçin. Kapsam alanını While olarak ve Varsayılan sütununu boş bırakın.

  14. Etkinliğin Condition özelliğini While Items.Length; dizinine < ayarlayın.

  15. Bir InvokeDelegate etkinliği araç kutusunun Temel Öğeler bölümünden etkinliğin Gövdesine While sürükleyin.

  16. Temsilci açılan listesinde Gövde'yi seçin.

  17. Etkinliğin Özellikler kılavuzundaInvokeDelegate, Temsilci Bağımsız Değişkenleri özelliğindeki ... düğmesine tıklayın.

  18. Bağımsız Değişken adlı bağımsız değişkenin Değer sütununa Items[Index] girin. DelegateArguments iletişim kutusunu kapatmak için Tamam'a tıklayın.

  19. Etkinliği Assign , etkinliğin altındaki yatay çizgiye InvokeDelegate sürükleyin. Etkinlik Assign oluşturulur ve MyForEach etkinliğinin Gövde bölümündeki iki etkinliği içerecek şekilde otomatik olarak bir Sequence etkinlik oluşturulur. Gövde bölümü yalnızca tek bir etkinlik içerebileceğinden sıra gereklidir. Otomatik olarak yeni Sequence etkinlik oluşturma, .NET Framework 4.5'in yeni bir özelliğidir.

  20. Etkinliğin To özelliğini Assign dizine ayarlayın. Assign etkinliğinin Value özelliğini index+1 olarak ayarlayın.

    Özel MyForEach etkinliği, Items koleksiyonu aracılığıyla geçirilen her değer için bir kez rastgele bir etkinlik çağırır ve koleksiyondaki değerler etkinlik için giriş olarak bulunur.

İş akışında özel etkinliği kullanma

  1. Ctrl+Shift+B tuşlarına basarak projeyi oluşturun.

  2. Çözüm Gezgini'da tasarımcıda Workflow1.xaml dosyasını açın.

  3. MyForEach etkinliğini araç kutusundan tasarımcı yüzeyine sürükleyin. Etkinlik, araç kutusunun projeyle aynı ada sahip bir bölümünde yer alır.

  4. MyForEach etkinliğinin Items özelliğini yeni Object[] {1, "abc"} olarak ayarlayın.

  5. Bir WriteLine etkinliği araç kutusunun Temel Öğeler bölümünden MyForEach etkinliğinin Temsilci:Gövde bölümüne sürükleyin.

  6. Etkinliğin WriteLine Text özelliğini Argument.ToString() olarak ayarlayın.

İş akışı yürütürken konsol aşağıdaki çıkışı gösterir:

1abc