تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
معلومة :: Action
#1
السلام عليكم و رحمة الله و بركاته،،
كود :
[align=center] Action(Of T)[/align]

هو تمثيل لإجراء يحتوي على Parameter واحد

مثلاً:
PHP كود :
Public Class Form1

    
Public Sub DoSomething1(ByVal param1 As String)
        
MsgBox(param1)
    
End Sub

    
Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
        Dim a 
As Action(Of String) = AddressOf DoSomething1
        a
.Invoke("Aly El-Haddad")
    
End Sub
End 
Class 

تطبيق على نقل عناصر ListBox1 إلى ListBox2 بإستخدام الدالة List(Of T).ForEach:
PHP كود :
Public Class Form1

    
Public Sub FillListBox2(ByVal item As String)
        
ListBox2.Items.Add(item)
    
End Sub

    
Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
        Dim StrArr 
As String() = New String(ListBox1.Items.Count 1) {}
        
ListBox1.Items.CopyTo(StrArr0)
        
Dim list As New List(Of String)(StrArr)
        
ListBox2.Items.Clear()
        list.ForEach(
AddressOf FillListBox2)
    
End Sub
End 
Class 
و السلام عليكم و رحمة الله و بركاته،،
الرد
تم الشكر بواسطة:
#2
اخي الكريم شكراً لك

ولكن ارجو منك التوضيح اكثر
الرد
تم الشكر بواسطة:
#3
M.Sami.AK كتب :اخي الكريم شكراً لك

ولكن ارجو منك التوضيح اكثر

PHP كود :
Action(Of T
هي تمثيل لإجراء يحتوى على Parameter واحد و هذا الـParameter من نوع T
T هو حرف أفتراضي لنوع الـParameter
فمثلاً Action of String يعني أن نوع الـParameter في الإجراء هو String
Action of Integer يعني أن نوع الـParameter في الإجراء هو Integer
إذاً يمكن التعبير عن الإجراء التالي بـAction of String
PHP كود :
Public Sub ShowMessage(ByVal msg As String)
MsgBox(msg)
End Sub 
و يمكن التعبير عن الإجراء التالي بـAction of Integer
PHP كود :
Public Sub MultiplyByTwo(ByVal num As Integer)
num *= 2
MsgBox
(num)
End Sub 
و هكذا مع بقية الأنواع
كيف تعطي قيمة لمتغير من نوع Action of T ؟؟
بإستخدام
PHP كود :
AddressOf [أسم الإجراء
كيف تنفذ الإجراء من Action Of T ممثلته؟
PHP كود :
[أسم المتغير].Invoke([قيمة الـParameter]) 
لماذا يجب أن أعرف كيفية أستخدام Action Of T ؟؟
حتى إذا وجدت دالة مثل List(Of T).ForEach نوع الـParameter فيها Action of T فلا تستغرب هذا النوع
Smile
الرد
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم