PDA

View Full Version : سوال: ویژال 2010 چه امکانات جدیدی داره؟؟؟



ostovarit
سه شنبه 28 اردیبهشت 1389, 19:47 عصر
ویژال 2010 چه امکانات جدیدی داره؟؟؟

pashaie
سه شنبه 28 اردیبهشت 1389, 20:20 عصر
کل VS 2010 رو نمی دونم، ولی واسه C# 2010:

متغییر های پویا:
یعنی تو نسخه 4 C# می تونی بدون اعلام نوع متغییر با متغییر کار کنی و بهش مقادیر مختلفی بدی - البته این حالت با var خیلی فرق می کنه.

نسخه جدید Entity Framework 4 :
اگه با دیتابیس زیاد کار کرده باشی، میدونی که یکی از بدبختی های برنامه نویسی کارکردن با دیتابسه (رکورد جدید، بروز رسانی و ...) تو نسخه 2008 ماکروسافت Linq to SQL رو معرفی کرد که کار کردن با دیتا بیس رو خیلی خیلی راحت می کرد.
ماکرو سافت اعلام کرد که دیگه Linq to SQL رو توسعه نمی ده و بجاش Entity Framework که نوعی ORM هست رو توسعه خواهد داد، نسخه 3.5 (الکی گول 3.5 رو نخور 3.5 بخاطر اینکه با ورژن دات نت هماهنگ بشه) که با VS 2008SP1 اومده بود یه سری معایب داشت که تو این نسخه برطف شده و خیلی ساده بگم، یکی از ویژگی های کلیدی 2010 همین Entity Framework هست

پارامتر های اختیاری:
حالا تو سی شارپ این قابلیت وجود داره که موقع تعریف یه تابع، مقدار پیش فرض رو هم تعریف کنیم تا تو موقع صدا زدن اگه اون پارامتر خاص رو مقداردهی نکردیم، مقدار پیش فرض در نظر گرفته بشه

و نسخه 2 از ASP.NET MVC
پترن Model-View-Controller تو این 4 5 ساله ثابت کرده که بهترین روش برای توسعه وب اپلیکشناست، هرچند ماکروسافت دیر به فکر این پترن افتد ولی چیزی که داده بیرون حاصل تجربیات موجود بوده و چون خیلی خوب با محیط VS مچ شده، نسبت به خیلی از رقباش تو سایر زبانها سر تره

IntilliTrace
یا دیباگر تاریخی، می تونی تو تنظیماتش مشخص کنی موقعی که یک خطا رخ می ده از بسیاری از ویژهگی های سیستم لاگ بگیره و حتی تا چند لحضه قبل از وقع خطا رو فیلم برداری می کنه تا دقیق بدونی این خطا که رخ داده چه مراحلی طی شده تا به وجود بیاد

این یه سری از ویژگی هاش بود که الان تو ذهنم بود، کم و کسری داشت ببخشید

r00tkit
سه شنبه 28 اردیبهشت 1389, 20:38 عصر
قبلا در این مورد زیاد بحث شده

What's New in Visual Studio 2010 (http://msdn.microsoft.com/en-us/library/bb386063.aspx)

saed2006
چهارشنبه 29 اردیبهشت 1389, 14:04 عصر
کل VS 2010 رو نمی دونم، ولی واسه C#‎ 2010:

متغییر های پویا:
یعنی تو نسخه 4 C#‎ می تونی بدون اعلام نوع متغییر با متغییر کار کنی و بهش مقادیر مختلفی بدی - البته این حالت با var خیلی فرق می کنه.


یعنی مثل vb6?

sia_2007
چهارشنبه 29 اردیبهشت 1389, 15:12 عصر
اون چیزی که تو VB 6 بود به نام Variant ؛ فاجعه ای بیش نبود.
زمانی که مینویسیم :

var q = Customers.Where ( C => C.ID = 9).Select(C => new { C.ID , C.Name}); ABCEDFGHIJK

فرض کن Customer ؛ ID داشته با Name و Salary و ...
حال شما داری یه سری آبجکت بر میگردونی؛ که فقط ID دارند و نام و دیگه مثلا Salary و ... رو ندارند.
خب ما کلاسی که فقط دو تا فیلد ID و Name رو داشته باشه نداریم؛ در نتیجه کامپایلر در زمان Runtime ؛ یک کلاس برای این امر ایجاد میکنه با نامی عجیب که برای ما ناشناخته است. = Anonymous Type
در نتیجه وقتی جنس اون کلاس رو نمیدونیم چون تو زمان اجرا ساخته میشه؛ از کلمه کلیدی var استفاده میکنیم.
var به ما امکان میدهد که تعیین نوع متغییر رو به Compiler بسپریم.
مثلا :

var i = 10; ABCDEFGH

درست برابر است با :

int i = 10; ABCDEFGH

حالا تو این مثال ما میدونستیم که اسم اون کلاس int هستش ( یا Int32 )؛ ولی در مثال اول نمیدونستیم که اسم کلاسی با دو فیلد ID و Name چیه.
اما اگه پایینتر بنویسیم i و نقطه رو بزنیم؛ Intellisence تمامی متدهای آبجکتهای int رو بر میگردونه.
و حتی در مثال اول و این یکی از موارد مورد علاقه Visual Studio Intellisence هستش.

راستی معنی کوئری اول :
یعنی از لیست مشتریان؛ مشتریانی رو که کدشون 9 هست رو؛ جدا کن و آیدی و نامشون رو برگردون.

Iran58
چهارشنبه 29 اردیبهشت 1389, 15:21 عصر
سلام
به لينك زيرمراجعه فرماييد
http://devecode.blogfa.com/post-5.aspx

mehdi.mousavi
چهارشنبه 29 اردیبهشت 1389, 15:22 عصر
یعنی مثل vb6?

خیر. این دو رو با هم اشتباه نکنید! بهتره ویدئوی Anders Hejlsberg در مورد C# 4.0 (http://channel9.msdn.com/posts/matthijs/C-40-and-beyond-by-Anders-Hejlsberg/) رو ببینید. اما بطور خلاصه بخوام بگم، تا قبل از C# 4.0 ما یه CLR داشتیم، اما با ظهور C# 4.0 محیط اجرایی پویایی به اسم Dynamic Language Runtime یا DLR هم بهش اضافه شد که امکان بررسی و اجرای کدهای Dynamically-Typed رو (در runtime) به ما میده.

به این شکل دقت کنید:



http://www.hanselman.com/blog/content/binary/WindowsLiveWriter/a6146b2ae1f2_A59C/image_7.png


در حقیقت با این امکان جدید، دیگه نیازی نیست خروارها کد بر اساس Reflection بنویسیم که بخواهیم بعنوان مثال متود ناشناسی (در Compile-Time) رو فراخوانی کنیم. DLR اینکارو در یک خط برای ما انجام میده (اونهم در صورت لزوم، یعنی اگر متوجه بشه که نیازی به استفاده از Reflection نیست، مستقیما با Object مربوطه کار میکنه).

من راستش فرصت ندارم بخوام در این مورد توضیح بدم و فکر میکنم، ویدئوی فوق تمام آن چیزی رو که نیاز هستش بدونید در مورد C# 4.0 در اختیار شما قرار خواهد داد. اون ویدئو رو حتما ببینید.

موفق باشید.

r00tkit
چهارشنبه 29 اردیبهشت 1389, 15:43 عصر
همه چی در مورد Dynamic (http://www.barnamenevis.org/forum/showthread.php?t=218470)