تقييم الموضوع :
  • 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
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  معلومة ::: ListBox Blue Sky 14 2,471 14-11-16, 11:32 PM
آخر رد: فارس جراح
  [مقال] Generic Delegates - Func and Action silverlight 14 538 18-01-16, 12:57 AM
آخر رد: 10468
  معلومة مهمه فى المصفوفات ali.alfoly 2 801 30-08-13, 02:25 AM
آخر رد: ali.alfoly
  من المنتدى القديم - معلومة ::: ProgressBar ( للاخ BADRMEDIA ) المبرمج علي نوري 2 1,274 23-08-13, 11:17 PM
آخر رد: nin9e
  معلومة :: تعلم كيف تحفظ صورة في My.Settings بدون الإحتياج إلى مسارها! أسامة أحمد 3 1,028 16-12-12, 06:25 PM
آخر رد: 3amo
  من المنتدى القديم - معلومة ::: CheckBox ( للاخ BADRMEDIA ) المبرمج علي نوري 1 578 30-11-12, 05:54 PM
آخر رد: مبرمج أوتار
  معلومة :: الحل لمشكلة الخطأ في الكود For Each i As Button In Me.Controls Aly El-Haddad 2 684 10-11-12, 09:15 PM
آخر رد: Mr. DotNet
  معلومة : Partial Class RaggiTech 1 548 06-10-12, 11:03 PM
آخر رد: RaggiTech
  معلومة : TryCast مهمة RaggiTech 0 466 06-10-12, 11:02 PM
آخر رد: RaggiTech
  معلومة : XML Comments مهمة RaggiTech 1 426 06-10-12, 11:01 PM
آخر رد: RaggiTech

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


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