یکی از Attributeهای بسیار کاربردی که در سی شارپ 5 اضافه شد CallerMemberNameAttribute بود. این صفت به یک متد اجازه میدهد که از فراخوانندهی خود مطلع شود. این صفت را میتوان بر روی یک پارامتر انتخابی که مقدار پیشفرضی دارد اعمال نمود.
استفاده از این صفت هم بسیار ساده است: private void A ( [CallerMemberName] string callerName = "")
{
Console.WriteLine("Caller is " + callerName);
}
private static void B( ...
هدف از توابع خطی(Inline) استفاده از توابع، مقداری بر زمان اجرای برنامه میافزاید؛ هرچند که این زمان بسیار کم و در حد میلی ثانیه است، اما باری را بر روی برنامه قرار میدهد و علت این تاخیر زمانی این است که در فراخوانی و اعلان توابع، کامپایلر یک کپی از تابع مورد نظر را در حافظه قرار میدهد و در فراخوانی تابع، به آدرس مذکور مراجعه میکند و در عین حال آدرس موقعیت توقف دستورات در تابع main را نیز ذخیره میکند تا پس از پایان تابع، به آدرس ...
در این مطلب یک ترفند ساده و سریع برای دوستانی که میخواهند از ویژوال استودیو 2010 برای ساختن برنامهی Setup پروژههای خود استفاده کنند، آورده میشود. اگر برای ساخت برنامههای نصب خود بخواهید از ویژوال استودیو 2010 استفاده کنید و ورژن دات نت برنامه شما بالاتر از 4 باشد، متوجه خواهید شد که در قسمت prerequisites، ورژن دات نت مورد نظر شما وجود ندارد. برای اضافه کردن net 4.5. و بالاتر به برنامهی نصب خود باید یک Bootstrapper ایجاد ک ...
فرض کنید میخواهید زمانیکه دکمهی build در VS.NET فشرده شد، دو نسخهی دات نت 4 و دات نت 4.5، از پروژهی شما در پوشههای مجزایی کامپایل شده و قرار گیرند. در ادامه نحوهی انجام اینکار را بررسی خواهیم کرد.
پروژه نمونه
تنظیمات ذیل را بر روی یک پروژه از نوع class library دات نت 4 در VS 2013 اعمال خواهیم کرد.
ویرایش فایل پروژه برنامه
برای اینکه تنظیمات کامپایل خودکار مخصوص دات نت 4.5 را نیز به این ...
Multicore JIT یکی از قابلیتهای کلیدی در دات نت 4.5 میباشد که در واقع راه حلی برای بهبود سرعت اجرای برنامههای دات نتی است. قبل از معرفی این قابلیت ابتدا اجازه دهید نحوه کامپایل یک برنامه دات نتی را بررسی کنیم. انواع compilation در حالت کلی دو نوع فرآیند کامپایل داریم: Explicit در این حالت دستورات قبل از اجرای برنامه به زبان ماشین تبدیل میشوند. به این نوع کامپایلرها AOT یا Ahead Of Time گفته میشود. این نوع از کامپایلره ...