14-10-12, 04:19 PM
Delegetes :
لو اردنا تعريف Delgates لمجموعة دوال ، اول ما نحتاج إليه ان تكون هذه الدوال من نفس عدد البارميترات . ايضاً لها نفس ال input وال output ، لذا سيكون ال Delegate الخاص بدوالنا بالشكل التالي :
C#:
vb.net:
والآن كل ما علي في جملي الشرطية ان احدد لهذا التفويض - إن صحت الترجمة - الدالة المسؤول عنها ، لذا ستكون شروطنا المختصرة بالشكل التالي :
C#:
vb.net:
ايضا بامكانك تأخير الشرط الأخير الذي يقوم بتنفيذ ال Delegate للنهاية ، او تكرار استخدامها مرة أخرى ، حيث ان ال aDelegate قد اصبحت تعرف اي دالة تختص بتنفيذ هذه العملية الآن .
لن اتوسع كثيراً في هذا العالم ، هناك الكثير من النقاط في ال Delegates ولكني تجاوزت بعضها لعدم الحاجة المتكررة إليها ، فيما تجاوزت نقاط أخرى لإني لم استطع فهمها بطريقة كاملة تجعلني استطيع شرحها .
والله الموفق ...
والسلام عليكم ورحمة الله وبركاته .
لو اردنا تعريف Delgates لمجموعة دوال ، اول ما نحتاج إليه ان تكون هذه الدوال من نفس عدد البارميترات . ايضاً لها نفس ال input وال output ، لذا سيكون ال Delegate الخاص بدوالنا بالشكل التالي :
C#:
كود :
public delegate int myDelegate(int value);vb.net:
كود :
Public Delegate Function myDelegate(ByVal value As Integer) As Integerوالآن كل ما علي في جملي الشرطية ان احدد لهذا التفويض - إن صحت الترجمة - الدالة المسؤول عنها ، لذا ستكون شروطنا المختصرة بالشكل التالي :
C#:
كود :
if (Operation == 0)كود :
[FONT=Tahoma] {[/FONT]
[FONT=Tahoma]myDelegate aDelegate = new myDelegate(ConvertDToEG);[/FONT]
[FONT=Tahoma]result = aDelegate(userInput);[/FONT]
[FONT=Tahoma]}[/FONT]
[FONT=Tahoma]else if (Operation == 1)[/FONT]
[FONT=Tahoma]{[/FONT]
[FONT=Tahoma]myDelegate aDelegate = new myDelegate(ConvertRSToD);[/FONT]
[FONT=Tahoma]result = aDelegate(userInput);[/FONT]
[FONT=Tahoma]}[/FONT]كود :
If Operation = 0 Thenكود :
[FONT=Tahoma] Dim aDelegate As New myDelegate(ConvertDToEG) [/FONT]
[FONT=Tahoma]result = aDelegate(userInput) [/FONT]
[FONT=Tahoma]ElseIf Operation = 1 Then [/FONT]
[FONT=Tahoma]Dim aDelegate As New myDelegate(ConvertRSToD) [/FONT]
[FONT=Tahoma]result = aDelegate(userInput) [/FONT]
[FONT=Tahoma]End If [/FONT]لن اتوسع كثيراً في هذا العالم ، هناك الكثير من النقاط في ال Delegates ولكني تجاوزت بعضها لعدم الحاجة المتكررة إليها ، فيما تجاوزت نقاط أخرى لإني لم استطع فهمها بطريقة كاملة تجعلني استطيع شرحها .
والله الموفق ...
والسلام عليكم ورحمة الله وبركاته .
