PDA

View Full Version : گفتگو: ویژگیهای جدید در Visual Basic 2008



علیرضا مداح
یک شنبه 31 شهریور 1387, 16:59 عصر
سلام دوستان عزیز،
در این تاپیک میتوانید به معرفی ویژگیهای جدید در Visual Basic 2008 بپردازید ،
چندی از ویژگیهای جدید که میتوانند مورد بحث قرار گیرند :



Implicitly Typed Local Variables
Nullable Types
Relaxed Delegates
Object Initializers
Array Initializers
Anonymous Types
Extension Methods
Lambda Expressions
Xml Support in LINQ to XML
LINQ - Language Integrated Query
Query Expressions & Query Operators
.......

این تاپیک تنها محل ارائه ی نکات مفید میباشد ، لطفا" در صورت داشتن سوال ، آن را در تاپیکی جداگانه مطرح نمایید ،/

Dariuosh
دوشنبه 01 مهر 1387, 10:44 صبح
New Editor Features in Visual Studio 2008 SP1 (http://channel9.msdn.com/posts/funkyonex/New-Editor-Features-in-Visual-Studio-2008-SP1/)
Building N-Tier Applications in Visual Studio 2008 (http://channel9.msdn.com/posts/funkyonex/Building-N-Tier-Applications-in-Visual-Studio-2008/)
Performance Improvements in Visual Studio 2008 (http://channel9.msdn.com/posts/funkyonex/Performance-Improvements-in-Visual-Studio-2008/)
Offline Data Synchronization Services in Visual Studio 2008 (http://channel9.msdn.com/posts/funkyonex/Offline-Data-Synchronization-Services-in-Visual-Studio-2008/)
Visual Basic LINQ Syntax in Visual Studio 2008 (http://channel9.msdn.com/posts/funkyonex/Amanda-Silver-on-Visual-Basic-LINQ-Syntax-in-Visual-Studio-2008/)
LINQ to SQL and the O/R Designer in VS 2008 (http://channel9.msdn.com/posts/funkyonex/LINQ-to-SQL-and-the-OR-Designer-in-VS-2008/)



List Of VB-Team Videos (http://channel9.msdn.com/tags/VB+Team/)

Dariuosh
چهارشنبه 03 مهر 1387, 05:20 صبح
يکي از قابليت هايي که به VB9 اضافه شده حدس زدن متغير تعريف شده هست !
قبلاً اينطوري متغير تعريف ميکرديم


Dim i As Integer = 123
Dim s As String = "Bart"
Dim d As Dictionary(Of String, List(Of Integer)) = New Dictionary(Of String, List(Of Integer))

البته خلاصه هم ميشد


Dim d As New Dictionary(Of String, List(Of Integer))

حالا خلاصه تر هم ميشه نوشت !


Dim i = 123
Dim s = "Bart"
Dim d = New Dictionary(Of String, List(Of Integer))

ميبينيد که VB9 چقدر راحت خودش حدس ميزنه
http://www.bartdesmet.net/images/VisualBasic9.0FeatureFocus_F0D5/image.png

اين به خاطر خاصيت Infer هست که شما ميتونيد به دلخواه روشن يا خاموش کنيدش
http://www.bartdesmet.net/images/VisualBasic9.0FeatureFocus_F0D5/image_3.png

وقتي يه پروژه New ميکنيد اين خاصيت به صورت پيش فرض On ، برا تغييرش ميتونيد به project properties --> Compile tab بريد

http://www.bartdesmet.net/images/VisualBasic9.0FeatureFocus_F0D5/image_4.png

شما اگه Off کنيدش اينطوري نتيجه ميگيريد
http://www.bartdesmet.net/images/VisualBasic9.0FeatureFocus_F0D5/image_5.png
در واقع VB9 متغيرهارو از نوع System.Object در نظر ميگيره
http://www.bartdesmet.net/images/VisualBasic9.0FeatureFocus_F0D5/image_6.png
ولي اگه روشن باشه به راحتي VB9 حدس ميزنه و کاره شمارو راحت ميکنه
http://www.bartdesmet.net/images/VisualBasic9.0FeatureFocus_F0D5/image_7.png

rezaei manesh
چهارشنبه 03 مهر 1387, 11:52 صبح
سلام
داریوش جان مطالبت جالب بود من هم اینها رو دارم
تغییرات عمده و پر سر و صدا از VS2005 به VS2008 عبارتند از:
1- نسخه جدید .NET: نسخه .NET که به همراه VS2008 عرضه شده همین .NET 3.5 است. در وصف این زیبارو همین بس که علاوه بر همه .NET 2.0 ، شش Library اضافه شده بهش که عبارتند از :
• WWF یا به اختصار WF Windows Workflow Foundation: در مورد WF قبلا در همین وبلاگ یه مقاله نوشتم که برای آشنایی با WF می تونید به اون مراجعه کنید.
• WPF (Windows Presentation Foundation): WPF امکانات گرافیکی برای طراحی UI در اختیار شما قرار میده. WPF در زمینه طراحی UI برنامه های ویندوز یه ایده کاملا جدیده و قبل از این چنین ابزاری وجود نداشته. با استفاده از WPF شما می تونید برنامه هایی با ظاهر کاملا متفاوت و بصورت دو بعدی و سه بعدی طراحی کنید. طراحی فرمها در WPF مبتنی بر زبان جدیدی به نام XAML است.
• (WCF (Windows Communication Foundation:
• CardSpace
• ASP.NET AJAX: یه Library برای استفاده بهتر و ساده تر Ajax در ASP.NET که حالا با خود .NET یکپارچه شده. مایکروسافت نسخه بتای اونو Atlas نامگذاری کرده بود.
• SilverLight: یه Library کاملا جدید و جذاب برای طراحان وب. به زبون ساده SilverLight یعنی استفاده از امکانات WPF در طراحی صفحات وب. اگه بخواید دقیقتر بشید میشه گفت همون کاریه که Flash می کنه ولی با این تفاوت که طراحی UI با استفاده از WPF انجام میشه و کدنویسی با استفاده از VB.NET یا C# و این برای برنامه نویسای وب یعنی هلو!

2- خلق زبان XAML: اینم یکی دیگه از تحولات جدید VS2008 است. یه زبان جدید برای طراحی! اونایی که سراغ WPF و SilverLight میرن بیشتر در مورد این زبان مطلب میشنون. به واسطه همین زبان مایکروسافت یه Designer جدید به VS2008 اضافه کرده که شما در آن واحد هم می تونید Interface رو بصورت سنتی و با استفاده از ToolBox و پنجره Properties طراحی کنید و هم می تونید از XAML در پنل مخصوص به خودش استفاده کنید.

3- قابلیت MultiTargeting: شما در VS2008 می تونید پروژه هایی از نوع .NET 2.0 یا .NET 3.0 یا 3.5 بسازید.

4- طراح MasterPage های تو در تو (Nested MasterPage): قابلیت Nested MasterPage در VS2005 هم وجود داشت و در حقیقت با .NET 2.0 عرضه شد اما مشکلی که وجود داشت این بود که VS2005 توانایی ویرایش و نمایش صفحات وب مبتنی بر Nested MasterPage رو نداشت که این امکان به VS2008 اضافه شده.

5- در .NET 3.0 سه کنترل جدید به ASP.NET اضافه شده. این سه کنترل عبارتند از: ListView، DataPager، LinqDataSource.

6- پشتیبانی از Expression Blend: حتما با Expression Blend آشنا هستید. Expression Blend ابزاری بصری برای تولید کدهای XAML در برنامه های مبتنی بر WPF است. در VS2008 شما Expression Blend رو به عنوان یه Add in در اختیار دارید.

7- مدیریت Using: برنامه نویسایی که از Java به .NET رو آوردن مدتها منتظر بودن تا چنین امکانی به VS اضافه بشه. با استفاده از این امکان شما می تونید بخش Using هر ماژولو مدیریت کنید. با انتخاب همه Using ها و کلیک راست روی اونا منوی مدیریت Using ها نمایش داده میشه که شامل گزینه هایی مثل: حذف Using های استفاده نشده، مرتب کردن Using ها، حذف و مرتب کردن و امکانات دیگه ای است.

8- نمایش منوی Intellisense: در نسخه های قبلی VS وقتی که اسم یه شی و علامت . رو تایپ می کردید منوی Intellisense در محل تایپ نمایش داده میشد و این باعث میشد که قسمتهایی از کد که زیر منو قرار می گرفت از دید شما خارج بشه. در VS2008 در زمان نمایش منوی Intellisense اگه شما کلید Ctrl رو نگهدارید این منو بصورت نیمه شفاف نمایش داده میشه و در نتیجه کدهای زیر اون هم قابل مشاهده هستن.

9- فیلتر کردن منوی Intellisense: در نسخه های قبلی VS وقتی شما چیزی تایپ می کردید همه گزینه های مربوطه در منوی Intellisense نمایش داده می شد اما در VS2008 فقط آیتمهایی نمایش داده میشن که با کارکترهای تایپ شده توسط شما منطبق باشه. به عنوان مثال اکه شما اسم یه شی رو تایپ کنید و بعد علامت . بزنید و بعدش حرف m رو تایپ کنید فقط اعضایی که با حرف m شروع میشن تو لیست نمایش داده میشه.

10- JavaScript Intellisense and Debugging: بعضی از چیزا هست که واقعا نمیشه فهمید که چرا Microsoft اینقدر در برابرشون ایستادگی می کنه. یکیش همینه. بالاخره Microsoft بعد از مدتها امکان Debug و Intellisense برای JavaScript هایی که توی صفحات ASPX می نویسید را توی VS2008 قرار داد.

11- اخطار برای خطاهای Html و javascript: در VS2005 خطاهای مربوط به Html و خطاهای زبان C# بطور ترکیبی توی یه پنجره نمایش داده میشد. در VS2008 این خطاها جدا شدن و به همراه خطاهای مربوط به JavaScript به عنوان اخطار (Warning) نمایش داده میشن.

12- یکی دیگه از تغییرات پر سر و صدا عرضه LINQ (Language Integrated Query) بود. LINQ یک روش کاملا جدید و نوآورانه برای کار با منابع داده با استفاده از Query بدون توجه به نوع منبع داده است صرف نظر از اینکه منبع داده موجود در حافظه اشیا، XML، SQL و یا DataSet و یا هر چیز دیگه ای باشه.

13- طراح LINQ: در VS2005 امکاناتی برای کار با SQL Server به نام Server Explorer در اختیار برنامه نویس بود. در VS2008 این امکانات کماکان وجود دارن با این تفاوت که اماناتی هم برای طراحی LINQ-to-SQL اضافه شده.

14- معماری رابط کاربر چند زبانه (MUI): معماری MUI این اجازه رو به کاربر میده تا زبان متن نمایش داده شده رو به زبان دلخواه تغییر بده. این معماری بخشی از محصولات MS Office و MS Windows محسوب میشه. VS2008 در حال حاضر زبانهای انگلیسی، اسپانیایی، فرانسوی، آلمانی، ایتالیایی، چینی، ژاپنی، کره ای را فراهم کرده. (همین جا وبلاگ CsharpBlog مایکروسافت رو به دلیل نادیده گرفتن حقوق برنامه نویسای ایرانی و نبودن زبان فارسی تو این لیست شدیدا محکوم می کنه و تحریم می کنه تا بدینوسیله این شرکت ورشکست بشه الهی!)

15- امکانات بسیار زیادی به زبانهای برنامه نویسی C# و VB.NET اضافه شده که فقط از شنیدن اسم اونا مو به تنتون سیخ میشه. بعضی از این تغییرات مهم عبارتند از:
• Automatic Properties
• Relaxed Delegates
• Object Initialisers
• Type Inference
• Anonymous Types
• Extension Methods
• Lambdas
• Partial Methods
در مورد این امکانات کسی سوال نکنه که خودمم تازه دارم مطالعشون می کنم! نکته مهم و جالب دیگه اینه که شما می تونید از امکانات جدید زبانهای #C و VB.NET توی پروژه های .NET 2.0 که قبلا نوشتید استفاده کنید. بزودی تو همین وبلاگ در مورد این امکانات بیشتر صحبت می کنیم.

16- پشتیبانی کامل و امکانات جدید برای برنامه نویسایی که با Office 2007 سرو کار دارن مثل طراحی فرم برای Outlook، کنترل محتوای Word و بسیاری چیزهای دیگه.

17- یکی از امکانات ویژه ای که توی VS2008 اضافه شده امکان استفاده Debug در داخل متدهای .NET Framework است. یعنی با این امکان جدید .NET به یک پلتفرم نیمه Open Source برنامه نویسی تبدیل شده (مایکروسافت برای این منظور یه Licence جدید ثبت کرده و دسترسی به سورسهای .NET از این طریق تحت این Licence انجام میشه).

18- امکانات برنامه نوسی و تولید کد بهتر برای اجرا در ویندوز ویستا

19- استفاده تجاری: تا قبل از این نمی تونستید از نسخه های Trial و یا Express Edition برای مقاصد تجاری استفاده کنید. اما شما می تونید از VS2008 Trial برای مقاصد تجاری هم استفاده کنید. این کار از طریق Popfly امکان پذیره. Popfly یه میزبان برای پروژه های VS2008 روی وبه که توانایی Build و توزیع اونا رو با مجوز استفاده تجاری داره. شما می تونید پروژه های تحت وب و یا پروژه هایی که با استفاده از VS2008 Express Edition و یا VS2008 Trail نوشتید توی Popfly کمپایل و توزیع کنید.

20- استفاده از Unit Testing برای توسعه دهندگان موبایل: با این امکان در پروژه های معمولی در VS2005 آشنا هستید. حالا امکان استفاده از Unit Testing رو توی برنامه های موبایل هم دارید.

21- مدیریت امنیتی موبایل: در VS2008 مدیریت امنیت موبایل بسیار ساده تر و خوش دست تر از قبل شده و شما می تونید تنظیمات امنیتی برای ابزار نهایی رو با کلیک کردن یه کلید عوض کنید و به این ترتیب به سرعت برنامتونو در حالات مختلف امنیتی تست کنید.

22- مدیریت شبیه ساز (Emulator): مدیریت شبیه ساز برای اولین بار تو VS2005 عرضه شده. استفاده از این ابزار مشاهده و اجرای Image های موجود تو شبیه سازها در ماشین شما رو آسونتر می کنه. در مدیر شبیه ساز موجود تو VS2008 می تونید از راههای کاملا اتوماتیک استفاده کنید به این معنی که شما می تونید با نوشتن یه کد یا اسکریپت ساده و اجرای اون با استفاده از Unit Test ها یکی پس از دیگری به همه شبیه سازهای موجود در دستگاهتون متصل بشید و بعد از انجام کار مورد نظرتون اتصال رو قطع کنید. یکی دیگه از امکانات توسعه یافته در مدیر شبیه ساز اینه که اتصال به Image های شبیه ساز رو آسون می کنه. با استفاده از این امکان جدید شما می تونید تنظیمات هر شبیه ساز رو توی یه فایل XML ساده که توی فولدر My Device Emulator قرار می گیره ذخیره کنید.

23- توسعه شبیه ساز ابزار: ضمن رفع نواقص و بهینه سازی نسخه 1.0 حالا شبیه ساز موجود در VS2008 که با Windows Mobile 6.0 SDK عرضه شده تواناییهای بیشتری داره که از مهمتریناش میشه به این موارد اشاره کرد: باطری، بلندگوها، هدست، کیت اتوموبیل.

24- بسترهای پشتیبانی شده برای موبایل: در VS2008 برای برنامه نویسی موبایل انتخابهای مختلفی برای پلتفرم و نوع Windows Mobile و زبان و نوع برنامه نویسی دارید. Pocket PC 2003، Smart Phone 2003، Windows Mobile 5.0 SDK، Windows Mobile 6.0 SDK(آخرین نسخه اونو باید خودتون از سایت مایکروسافت دانلود و نصب کنید) پلتفرهایی هستن که VS2008 پشتیبانی می کنه. در VS2008 برای پلتفرم Smart Phone 2003 فقط می تونید بصورت Native برنامه نویسی کنید و .NET CF 1.0 هم پشتیبانی نمیشه. اگه شما پروژه ای از این نوع دارید باید با استفاده از VS2008 اونو به پلتفرم Windows Mobile 5.0 SDK و .NET CF 2.0 ارتقا بدید.
منبع: وبلاگهای MSDN

Dariuosh
جمعه 05 مهر 1387, 12:08 عصر
يادتونه وقتي يه کلاس تعريف ميکرديم و ميخواستيم بعداً ازش نمونه بگيريم برا مقدار دهي اوليه اش کلي داستان داشتيم
مثلاً


Class Customer

Private _name As String
Private _age As Integer

Public Sub New(ByVal name As String)
_name = name
End Sub

Public Property Name() As String
Get
Return _name
End Get

Set(ByVal value As String)
_name = value
End Set
End Property

Public Property Age() As Integer
Get
Return _age
End Get

Set(ByVal value As Integer)
_age = value
End Set
End Property

End Class

الان تو اين کلاس 2تا Property داره که Name در زمان New شدن بايد مقدار بگيره

حالا اگه ميخواستيم نمونه بگيريم و مقدار دهي کنيم راهش اين بود

Dim c As New Customer("Bart")
c.Age = 24
يا اگه ميخواستيم چند Property رو باهم مقدار دهي کنيم اينطوري ، از With استفاده ميکرديم

Dim c As New Customer("Bart")
With c
.Age = 24
End With

حالا VB9 استفاده از Withرو ارتقاء داده
يعني شما تو همون خط مقدار Propertyها رو ميتونيد مشخص کنيد


Dim c As New Customer("Bart") With {.Age = 24}

در واقع VB9 ديگه ....
http://www.bartdesmet.net/images/VisualBa.0FeatureFocusObjectInitializers_104D0/image.png

Dariuosh
جمعه 05 مهر 1387, 13:14 عصر
خوب رواله تعريف Typeهايه دلخواه (يه جوارايي همون استراکچر) مثل پست قبل Object Initializers هست

Dim t = New With {.Name = "Bart", .Age = 24}
در واقع VB9 با استفاده از With و خاصيت Implicitly Typed Local Variables اين سرويس جديد به ما ميده
http://www.bartdesmet.net/images/VisualBasic9.0FeatureFocusAnonymoustypes_10C30/image.png

در ضمن شما ميتونيد از يه آيتم تعريف شده در يه Typeايي که در چند خط قبل تعريف کرديد به عنوانه يه Property در يه Type جديد استفاده کنيد VB9 خودش ميره تشخيص نوعو مشخصات اونو و جايگزينش ميکنه


Dim t = New With {.Name = "Bart", .Age = 24}
Dim id = 123
Dim u = New With {.Id = id, t.Name, t.Age}

در واقع اون برابر با


Dim u = New With {.Id = id, .Name = t.Name, .Age = t.Age}

چندتا نکته :
اگه شما از ToString استفاده کنيد اينجوري برميگردونه { Name = Bart, Age = 24}
وقتي از Equals استفاده مي کنيد مثلاً برا مثال بالا جواب False برميگردونه

Dim t = New With {.Name = "Bart", .Age = 24}
Dim u = New With {.Name = "Bart", .Age = 24}
Console.WriteLine(t.Equals(u))
چون Equals دوتا references رو باهم مقايسه ميکنه
حالا VB9 يه keyed anonymous types داره که با استفاده از اون ........


Dim t = New With {Key .Id = 1, .Name = "Bart", .Age = 24}
Dim u = New With {Key .Id = 1, .Name = "Anders", .Age = 47}
Console.WriteLine(t.Equals(u))

اينجوري Equals جوابه True برميگردونه و GetHashCode يه مقدارو

** از اين خاصيت برا LINQ هم استفاده ميشه


Dim res = From c In customers Select New With {c.Name, c.Age}

rezaei manesh
شنبه 06 مهر 1387, 11:39 صبح
با سلام
به مطلب زیر که از آقای راد هست دقت کنید
دانلود تمامی سورس کدهای کتابخانه های دات نت در یک زمان!

همون طور که می دونید، با انتشار VS.NET 2008، مایکروسافت به برنامه نویسان دات نت این امکان رو داد تا بتونن در زمان دیباگ، سورس کتابخانه های دات نت رو ببینن و از این طریق از آنچه که پیش اومده بیشتر مطلع بشن.
مشکلی که در این بین وجود داره اینه که برای اولین بار که نیاز به دیباگ کدی دارید که در نیم اسپیس خاصی وجود داره، باید به اینترنت متصل باشید تا سورس اون نیم اسپیس دانلود بشه.
البته یک بار دانلود کافیه و در مراتب بعد کدها Cache میشن و نیاز به اتصال به اینترنت وجود نداره.
یکی از برادران برنامه نویس ساکن بلاد کفر!، ابزاری رو ساخته که با استفاده از اون می تونید سورس تمامی کتابخانه ها رو یکجا دانلود کنید و برای همیشه داشته باشید!

جزئیات بیشتر… (http://www.wintellect.com/cs/blogs/jrobbins/archive/2008/02/06/download-all-the-net-reference-source-code-at-once-with-net-mass-downloader.aspx)

منبع (http://brad.barnamenevis.org/?p=91)

Dariuosh
یک شنبه 07 مهر 1387, 05:21 صبح
يکي از مشکلاته هميشگي مخصوصاً تو برنامه هايي که با DataBase سرو کار داره وجود مقادير Null بود که تو VB8 برايه حله مشکل يه Nullable(Of T) تعريف ميکرديم


Dim i As Nullable(Of Integer)
Dim b As Boolean

i = Nothing
b = i.HasValue 'Will be False

i = 123
b = i.HasValue 'Will be True
Dim j As Integer = i.Value 'j = 123

اما ديگه تو VB9 فقط کافيه

Dim i As Integer?
از اين روال استفاده کنيم
http://www.bartdesmet.net/images/VisualBasic9.0FeatureFocusNullabletypes_6FA/image.png

در ضمن شما فقط وقتي ميتونيد يه متغير Nullشو رو به يه متغير معمولي نسبت بديد که مقدار برگدونه

Dim j As Integer = i 'i = 123
وگرنه با Error مواجه ميشين
http://www.bartdesmet.net/images/VisualBasic9.0FeatureFocusNullabletypes_6FA/image_3.png

شما ميتونيد تو تمامه عمليات محاسباتي از اونا استفاده کنيد


Dim a As Integer? = Nothing
Dim b As Integer? = 123
Dim c As Integer? = a + b

الان در اين مثال C مقدار Null(Nothing) برميگردونه
تو IF هم به راحتي قابله استفادس

Dariuosh
چهارشنبه 10 مهر 1387, 16:52 عصر
ميگم در مورد Lambda Expressions اينو (http://msdn.microsoft.com/en-us/magazine/cc163362.aspx) ببينيد کامل توضيح داده

محمدامین شریفی
چهارشنبه 02 اردیبهشت 1388, 21:15 عصر
سلام
داریوش جان مطالبت جالب بود من هم اینها رو دارم
تغییرات عمده و پر سر و صدا از VS2005 به VS2008 عبارتند از:
1- نسخه جدید .NET: نسخه .NET که به همراه VS2008 عرضه شده همین .NET 3.5 است. در وصف این زیبارو همین بس که علاوه بر همه .NET 2.0 ، شش Library اضافه شده بهش که عبارتند از :
• WWF یا به اختصار WF Windows Workflow Foundation: در مورد WF قبلا در همین وبلاگ یه مقاله نوشتم که برای آشنایی با WF می تونید به اون مراجعه کنید.

منبع: وبلاگهای MSDN

به نظر من زیباترین و متفاوت ترین اکستنشن دات نت 3.5 همین WF است.دیدن یک visio قابل اجرا(executable) برای من خیلی مهیج است.
اگر کسی علاقه من به یک training عملی جهت شیرجه زدن در workflow هست.به این تاپیک سر بزنه:http://www.barnamenevis.org/forum/showthread.php?p=705206#post705206

omidgold
شنبه 26 اردیبهشت 1388, 15:49 عصر
کاش مثالهایی از این WF میزدید

محمدامین شریفی
یک شنبه 27 اردیبهشت 1388, 01:59 صبح
يادتونه وقتي يه کلاس تعريف ميکرديم و ميخواستيم بعداً ازش نمونه بگيريم برا مقدار دهي اوليه اش کلي داستان داشتيم
مثلاً


Class Customer

Private _name As String
Private _age As Integer

Public Sub New(ByVal name As String)
_name = name
End Sub

Public Property Name() As String
Get
Return _name
End Get

Set(ByVal value As String)
_name = value
End Set
End Property

Public Property Age() As Integer
Get
Return _age
End Get

Set(ByVal value As Integer)
_age = value
End Set
End Property

End Class
الان تو اين کلاس 2تا Property داره که Name در زمان New شدن بايد مقدار بگيره

حالا اگه ميخواستيم نمونه بگيريم و مقدار دهي کنيم راهش اين بود

Dim c As New Customer("Bart")
c.Age = 24يا اگه ميخواستيم چند Property رو باهم مقدار دهي کنيم اينطوري ، از With استفاده ميکرديم

Dim c As New Customer("Bart")
With c
.Age = 24
End Withحالا VB9 استفاده از Withرو ارتقاء داده
يعني شما تو همون خط مقدار Propertyها رو ميتونيد مشخص کنيد


Dim c As New Customer("Bart") With {.Age = 24}


Dim u = New With {.Id = id, .Name = t.Name, .Age = t.Age}


يکي از قابليت هايي که به VB9 اضافه شده حدس زدن متغير تعريف شده هست !
قبلاً اينطوري متغير تعريف ميکرديم


Dim i As Integer = 123
Dim s As String = "Bart"
Dim d As Dictionary(Of String, List(Of Integer)) = New Dictionary(Of String, List(Of Integer))
البته خلاصه هم ميشد


Dim d As New Dictionary(Of String, List(Of Integer))
حالا خلاصه تر هم ميشه نوشت !


Dim i = 123
Dim s = "Bart"
Dim d = New Dictionary(Of String, List(Of Integer))

به نظر من، [که هم با VB کار کردم و هم با #C،البته بسیار ابتدایی و beginner]،این قابلیت هایی که به VB9 اظافه شده،در حقیقت از #C به آن هدیه شده است.شاید ماکروسافت میخواسته VB کارها را با نحو #C بیشتر آشنا کند.

کاش مثالهایی از این WF میزدید
در فاز دوم پروژه دانشگاهیم میخواهم همین کار را بکنم.به امید خدا در هفته های بعد شروع میشود.

shocraneh
پنج شنبه 14 خرداد 1388, 22:19 عصر
شرمنده مزاحم شدیم من خیلی پیشرفته کار نمی کنم ولی دلم می خواد پیشرفت کنم کاش دوستان یک توضیحی بدن این موارد چیه ؟

shocraneh
پنج شنبه 14 خرداد 1388, 22:22 عصر
کاش یکی بگه اسنیک چیه و چه استفاده ای داره

Eng_Boostani
چهارشنبه 22 مهر 1388, 07:43 صبح
با عرض سلام خدمت تمامی کاربران
من با وی بی 2008 و دات نت فریم ورک 3.5 یک بانک داده طراحی کردم ولی فقط برای ایجاد کلید جستجو در این بانک داده مشکل دارم . هر چی جستجو کردم در دات نت 3.5 نتونستم دستور یا کد عمل جستجو را پیدا کنم . لطفا کمکم کنید.
با تشکرات فراوان