سبد (0)

ارثبری از کلاس Activity

ساخت یک اکتیویتی با ارثبری از کلاس Activity

همان طور که در انتهای مطلب قبل (پیش نیازهای این بخش) مشاهده فرمودید، کلاس Activity که از نوع abstract است بعنوان ریشه تمام subactivity ها محسوب می شود. در این قسمت از آموزش Workflow قصد داریم یک اکتیویتی سفارشی ایجاد کنیم که از کلاس Activity ارثبری می کند.


مراحل انجام کار

 پروژه گردش کار WorkflowConsoleApp شامل مراحل زير است:

  1. اضافه کردن فایل MyActivity.cs
  2. اضافه کردن Reference در پروژه WorkflowConsoleApp
  3. ايجاد و طراحي Workflow
  4. اجراي Workflow
  5. پروژه ي گردش کار UsingExistsInCollectionActivity چگونه عمل مي کند؟

اضافه کردن فایل MyActivity.cs

در پروژه ActivityLibrary که در مطلب قبل ایجاد کردیم، یک فایل جدید با نام MyActivity.cs ایجاد نمایید و کدهای زیر را در آن قرار دهید:

TitMyActivity.csle

using System;
using System.Activities;
using System.Activities.Statements;
public class MyActivity : Activity
{
    public MyActivity()
    {
        this.Implementation = () => new Sequence
        {
            Activities = {new WriteLine(){Text="Hello MyActivity"}}
        };
    }
}

 حالا پروژه را Build کنید تا اکتیویتی سفارشی ما یعنی MyActivity در پنل Toolbox ظاهر شود.


اضافه کردن Reference در پروژه WorkflowConsoleApp

همان طور که در مطلب قبل مشاهده فرمودید پروژه WorkflowConsoleApp را ایجاد کردیم تا بتوانیم، اکتیویتی های ایجاد شده را داخل آن تست کنیم. اما در ادامه برای اینکه بتوانیم از اکتیویتی MyActivity استفاده کنیم باید در پروژه WorkflowConsoleApp یک Reference به ActivityLibrary اضافه کنیم.


ايجاد و طراحي Workflow

در پروژه WorkflowConsoleApp  یک Workflow جدید با نام TestMyActivityWF.xaml اضافه نمایید. توجه داشته باشید که برای اضافه کردن یک Workflow جدید به پروژه، در واقع در پنجره Add New Item باید گزینه Activity را انتخاب کنیم:

حالا برای طراحی Workflow مراحل زیر را طی نمایید:

  1. از پنل Toolbox، اکتيويتي Sequence را بداخل صفحه بکشيد.
  2. یک اکتیویتی WriteLine اضافه کنید و خصوصیت Text آنرا با "Workflow start" تنظیم نمایید.
  3. از پنل Toolbox، اکتيويتي MyActivity را در زیر اکتیویتی WriteLine قرار دهید.
  4. در آخر یک اکتیویتی WriteLine دیگر اضافه کنید و خصوصیت Text آنرا با "Workflow end" تنظیم نمایید:


اجراي Workflow

پروژه WorkflowConsoleApp را بعنوان پروژه StartUp تنظيم نماييد و در ادامه براي اجراي Workflow دکمه هاي ميانبر Ctrl+F5 را فشار دهيد:


پروژه ي گردش کار WorkflowConsoleApp  چگونه عمل مي کند؟

 در WF4.5، کلاس Activity که از نوع Abstract است، یک کلاس اصلی برای تمام اکتیویتی هاست. در واقع در این کلاس خصوصیات، متدها و ساختار اصلی تمام اکتیویتی ها تعریف شده است. با ارث بری از این کلاس، می توانیم بصورت مستقیم اکتیویتی های دلخواهمان را ایجاد نماییم.

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه