27-04-17, 12:54 PM
(آخر تعديل لهذه المشاركة : 27-04-17, 02:23 PM {2} بواسطة silverlight.)
PHP كود :
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
For Each f As Func(Of String) In GetNames()
MessageBox.Show(f())
Next
For Each a As Action In GetActions()
a()
Next
End Sub
Private Iterator Function GetNames() As IEnumerable(Of Func(Of String))
Yield Function() "magic"
Yield Function() "mostafa"
Yield Function() "Adel"
Yield AddressOf GetName
Return
End Function
Private Function GetName() As String
Return "any name"
End Function
Private Iterator Function GetActions() As IEnumerable(Of Action)
Yield Sub()
MessageBox.Show("عمر")
End Sub
Yield Sub()
MessageBox.Show("فريد")
End Sub
Yield Sub()
MessageBox.Show("فاروق")
End Sub
Yield AddressOf create
Return
End Function
Private Sub create()
MessageBox.Show("انتهي")
End Sub
أو
PHP كود :
Public Class Form1
Private names As New List(Of String)()
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim threads As List(Of Threading.Thread) = New List(Of Threading.Thread)()
threads.Add(New Threading.Thread(AddressOf doAction) With {.IsBackground = True})
threads.Add(New Threading.Thread(AddressOf doAction) With {.IsBackground = True})
threads.Add(New Threading.Thread(AddressOf doAction) With {.IsBackground = True})
threads.Add(New Threading.Thread(AddressOf doAction) With {.IsBackground = True})
threads.Add(New Threading.Thread(AddressOf doAction) With {.IsBackground = True})
threads.Add(New Threading.Thread(Sub()
names.Add("Test")
End Sub) With {.IsBackground = True})
threads.Add(New Threading.Thread(Sub()
names.Add("Test")
End Sub) With {.IsBackground = True})
threads.ForEach(AddressOf StartThread)
End Sub
Private Sub StartThread(t As Threading.Thread)
t.Start()
End Sub
Private Sub doAction()
names.Add("Test")
End Sub
Private Sub Add(s As String)
ListBox1.Items.Add(s)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' إظهار النتائج
names.ForEach(AddressOf Add)
End Sub
End Class

