PDA

View Full Version : سوال: فراخوانی تابع بدون ذکر پاراکتر!



negar442
یک شنبه 21 خرداد 1396, 17:13 عصر
private void NormalLogReceived(UInt32 deviceID, IntPtr log)
{
if (log != IntPtr.Zero)
{
BS2Event eventLog = (BS2Event)Marshal.PtrToStructure(log, typeof(BS2Event));
Console.WriteLine(Util.GetLogMsg(eventLog));
}
}






cbOnLogReceived = new API.OnLogReceived(NormalLogReceived);


در برنامه بالا تابع NormalLogReceived دارای 2 پارامتر هست ولی در هنگام فراخوانی تابع هیچ پارامتری ذکر نشده و پرانتزی هم گذاشته نشده. این قطعه برنامه خطای سینتکس هم نداره و درست کار میکنه!
الان من میخوام همین برنامه رو به ویژوال بیسیک تبدیل کنم ولی ظاهرا در ویژوال بیسیک فراخوانی باید با ذکر پارامتر باشه یا اگه بدون پارامتر هم بشه من بلد نیستم.
سوال من اینه که :
1.فلسفه این جور فراخوانی ها چیه؟
2. چه جوری تبدیل به vb میشه؟

windowsyar
یک شنبه 21 خرداد 1396, 17:33 عصر
در vb.net از این استفاده کنید
cbOnLogReceived = New API.OnLogReceived(AddressOf NormalLogReceived)