PDA

View Full Version : یه سوال شاید غیر منطقی



asilverisis
جمعه 14 مرداد 1384, 17:42 عصر
سلام
ببخشید شاید این سوالم یه کم غیر منطقی باشه
ولی می خوام ببینم میشه یه تابع رو که اسم تابع توی یه متغیر صدا زد

مثلا یه متغیر از نوع String که توش اسم یه تابع قرار داره

titbasoft
جمعه 14 مرداد 1384, 21:00 عصر
ابتدا باید هر signiture استفاده شده در توابعتون یک delegate تعریف کنید.


Delegate Function Delegate_Sig1(ByVal par1 As Integer) As String

Private Function f1_Sig1(ByVal a As Integer) As String
End Function

Public Function f2_Sig1(ByVal a As Integer) As String
End Function


Delegate Sub Delegate_Sig2()

Private Sub f3_Sig2()
End Sub

سپس می تونید یک اشاره گر از نوع اون delegate بسازید و با استفاده از اون اشاره گر به تابعتون اشاره کنید. در مثال زیر چک میشه که کدام توابع به صورت public تعریف شده اند:

Sub Main()
Dim Pointer1 As Delegate_Sig1 = AddressOf f1_Sig1
Dim Pointer2 As Delegate_Sig1 = AddressOf f2_Sig1
Dim Pointer3 As Delegate_Sig2 = AddressOf f3_Sig2

checkIsPublic(Pointer1)
checkIsPublic(Pointer2)
checkIsPublic(Pointer3)

End Sub

Sub checkIsPublic(ByVal o As [Delegate])
Console.Write(o.Method.Name & " : " & o.Method.IsPublic)
Console.ReadLine()

End Sub

asilverisis
شنبه 15 مرداد 1384, 01:40 صبح
سلام
دست شما درد نکنه خیلی عالی بود
پس سوالم چندانم غیر منطقی نبود