یادداشت های یک برنامه نویس
دوستدار فرهنگ و هنر کهن ایرانی
برنامه نویسی

حدس میزنم همه توسعه دهندگان کنجکاو، دست کم یک بار این را پرسیده اند. طبیعی است که مجذوب نحوه کار زبان های برنامه نویسی شوید. متأسفانه، بیشتر پاسخهایی که می خوانیم بسیار آکادمیک یا نظری هستند. برخی دیگر حاوی جزئیات بیش از حد هستند. در نتیجه دقیقا متوجه عمکرد آن ها نمیشویم. بنابراین ما می خواهیم به این پرسش پاسخی ساده و قابل فهم دهیم تا متوجه روند ایجاد یک زبان کامل به همراه یک کامپایلر برای آن بشویم.

توابع می توانند بدون ورودی و خروجی یا با هر یک از آن ها یا همزمان با هر دو باشند.

مثال زیر یک تابع بدون ورودی و خروجی است:

//C#.net:
void Print()
{
    MessageBox.Show("Hi!");
}

//Use:
Print();
'VB.NET:
Sub Print()
       MessageBox.Show("Hi!")
End Sub

'Use:
Print()

Extension چیست؟ برای مثال ToString درکد زیر یک Extension برای نوع Integer است که آن را به string تبدیل می کند :

int primary = 1;
string result;
result = primary.ToString();

حال می خواهیم خودمان یک Extension بسازیم، برای مثال برای نوع integer یک Extension می سازیم که به آن یک واحد اضافه می کند:

میخواهیم با استفاده از نام یک کنترل به صورت رشته، به آن کنترل به صورت داینامیک دسترسی پیدا کنیم و از آن استفاده کنیم. برای مثال یک کنترل از نوع فرم را صدا زنی و نمایش می دهیم:

Dim ProjAndForm = "WindowsApplication1.Form2"  '' String Of Your Project And Form Name
Dim objType As Type = Type.[GetType](ProjAndForm) '' Get Type Of your string
Dim objForm As Control = DirectCast(Activator.CreateInstance(objType), Control) '' Convert Type to Control and now you can use this Control
objForm.Show()