Visual Studio Ultimate 2015 Preview
Download and installation pretty standard, havent noticed anything exceptionally different, lambda debugging looks like it will be pretty cool. Will spend a bit more time playing with the features after I have played with C#6.
List of features
Roslyn (The new C# compiler platform)
Pretty easy to install in to a project just put open a console and type:
Install-Package Microsoft.CodeAnalysis -Pre
Roslyn Website
R#
New platform installer for 9.1 picked up vs2015 and installed, works fine. Looks like some of the c# 6 support is already added as it suggests adding the ?. (Null Propagation) operator.
Resharper Platform Installer
C# 6
Tried out some of the new features including Null propagation, using Static Members ,auto Property Initializers,Getter only auto properties,Exception Filters. Lots of fun :) hopefully will have time to look at a few of these more in depth.
Here is a list of c#6 features:
Feature | Example | C# | VB |
---|---|---|---|
Auto-property initializers | public int X { get; set; } = x; | Added | Exists |
Getter-only auto-properties | public int Y { get; } = y; | Added | Added |
Ctor assignment to getter-only autoprops | Y = 15 | Added | Added |
Parameterless struct ctors | Structure S : Sub New() : End Sub : End Structure | Added | Added |
Using static members | using System.Console; … Write(4); | Added | Exists |
Dictionary initializer | new JObject { ["x"] = 3, ["y"] = 7 } | Added | No |
Await in catch/finally | try … catch { await … } finally { await … } | Added | No |
Exception filters | catch(E e) if (e.Count > 5) { … } | Added | Exists |
Partial modules | Partial Module M1 | N/A | Added |
Partial interfaces | Partial Interface I1 | Exists | Added |
Multiline string literals | "Hello<newline>World" | Exists | Added |
Year-first date literals | Dim d = #2014-04-03# | N/A | Added |
Line continuation comments | Dim addrs = From c in Customers ' comment | N/A | Added |
TypeOf IsNot | If TypeOf x IsNot Customer Then … | N/A | Added |
Expression-bodied members | public double Dist => Sqrt(X * X + Y * Y); | Added | No |
Null propagation | customer?.Orders?[5]?.$price | Added | Added |
String interpolation | $"{p.First} {p.Last} is {p.Age} years old." | Added* | Planned |
nameof operator | string s = nameof(Console.Write); | Added* | Planned |
#pragma | #Disable Warning BC40008 | Added | Added |
Smart name resolution | N/A | Added | |
ReadWrite props can implement ReadOnly | Exists | Added | |
#region inside methods | Exists | Added | |
Overloads inferred from Overrides | N/A | Added | |
CObj in attributes | Exists | Added | |
CRef and parameter name | Exists | Added | |
Extension Add in collection initializers | Added | Exists | |
Improved overload resolution | Added | N/A |
Xamarin
At first the Xamarin project templates did not appear, but I updated Xamarin studio to v 3.9 (In the alpha/Beta Channel) which features Visual Studio 2015 support and the templates appeared.
Looks like there is lots of fun ahead for .net!
No comments:
Post a Comment