freeCodeCamp/guide/arabic/csharp/delegates/index.md

2.8 KiB

title localeTitle
Delegates المندوبين

المندوبين

يمثل AC # delegate إشارة إلى أسلوب له مجموعة معينة من المعلمات ونوع إرجاع معين. عند إنشاء المفوض ، يمكنك إقرانه أي طريقة متوافقة مع نوع المندوب: لديها نفس القدر من المعلمات ، كل منها من نفس النوع ونوع قيمة الإرجاع هو نفسه.

يمكنك إما استخدام أسلوب مثيل أو طريقة ثابتة عند تعيينها إلى مفوض.

يسمح لك المفوض بتمرير الأساليب كمعلمات إلى أساليب أخرى.

يتم استخدام المندوبين غالبًا لتنفيذ وظائف رد الاتصال. المثال الأكثر نموذجية هي معالجات الأحداث: تقوم بالتسجيل طريقة يتم تسميتها عند حدوث حدث معين (يتم النقر فوق زر الماوس ، على سبيل المثال).

شرح قصير للمطورين

تشبه المندوبين مؤشرات الدالة في لغات C مثل C أو C ++. ومع ذلك ، فهي آمنة نوع. على عكس المؤشرات وظيفة بسيطة هم تحتوي على معلومات حول مثيل الكائن الذي سيتم استدعاء أسلوبه عند استدعاء المفوض ، ويكون له تدقيق صارم في نوع الحجج وقيمة إرجاع الدالة.

مثال

تقوم بتعريف مفوض مشابه لكيفية الإعلان عن وظيفة ، ولكن إضافة الكلمة delegate . فمثلا:

public delegate string StringOperation ( string s1, string s2 );

يمكن تعيين أي أسلوب يأخذ string وترجيح string إلى متغير من هذا النوع المفوض.

بعد إنشاء نوع التفويض ، يمكنك استخدامه تمامًا مثل أي نوع آخر. يمكنك الإعلان عن متغير محلي ، أعضاء فئة أخرى أو تمريرها كمعلمات لأساليب أخرى.

StringOperation a;

قبل استدعاء المفوض ، ستحتاج إلى تعيين قيمة له. لنفترض أن لدينا طريقة تسلسلية لديها التنفيذ التالي:

private string Concatenate ( string one, string two ) { return one + " " + two; }

يمكنك بعد ذلك تعيين هذا للمتغير المفوض واستدعائه كدالة.

` StringOperation op = Concatenate;

string result = op("Hello", "World"); 

Console.WriteLine ( result ); // print "Hello World" to the console 

`

معلومات اكثر

قراءة المزيد عن المندوبين هنا .