تعریف Delegate و نحوه استفاده از آن در #C

Delegate مقادیری از نوع کلاس است که حاوی جزئیاتی از یک متد نسبت به اطلاعات می باشد .در این مقاله Delegate و نحوه ایجاد آن در #C بیان می شود .

Delegateدرلغت به معنای نماینده است. در #C به معنای الگوی توابع می باشد .

تعریف Delegate

Delegate مقادیری از نوع کلاس است که حاوی جزئیاتی از یک متد نسبت به اطلاعات می باشد . از آن برای استناد متدی  که در زمان اجرا قرارداده شده است استفاده می شود.

 Delegate در #C برای دو هدف استفاده می شود .

از ویژگی های مهم Delegate این است که می تواند برای نگهداری مرجع یک متد به هر کلاس استفاده شود . تنها شرط این است که ورودی ها با ورودی های متد یکسان باشد .

1. Call back

2 .Event handling

ایجاد و استفاده از Delegate شامل 4 مرحله می باشد :

1 . Delegate declaration

2 . Delegate instantiation

3 . Delegate methods definition

4 . Delegate invocation

 

انواع سطح دسترسی برای استفاده از Delegate

Public

Private

Protected

Internal

مثالی از Delegate

    //delegate declaration  
    Delegate voin Sanjibdelegate();  
    Class A  
    {   //instance delegate method  
        Public void DispalyA()  
        {  
            Console.writeline(“Display A”);  
        }  
    }  
    Class B  
    {  
        //static delegate method  
        Static public void DisplayB()  
        {  
            Console.writeline(“Display B”);  
        }  
    }  
    //delegate instance  
    A mya = new A();  
    Sanjibdelegate san = new Sanjibdelegate(mya.DisplayA);  
    //static method call here direct with class name.  
    Sanjibdelegate del = new Sanjibdelegate(B.DisplayB);