Pues eso… que lo prometido es deuda y antes de que se me olvide, pues… te pego la tabla que te comenté antes con las novedades o nuevas características que tendrán los lenguajes principales de .NET en la versión definitiva de Visual Studio 2015 o lo que es lo mismo en .NET 4.6 o en la versión final de Roslyn (.NET Compiler Platform).
Esta tabla está "tomada prestada" de esta entrada: Languages features in C# 6 and VB 14 del sitio de Roslyn en Codeplex.
Debes tener en cuenta lo que en página dice sobre estas novedades (está en inglés pero con la ayuda del traductor de Google te lo pongo para que lo entiendas si no sabes mucho inglés):
Tenga en cuenta que todo está todavía sujeta a cambios – se trata de una vista previa después de todo. Sin embargo, estamos razonablemente seguros acerca de la característica general establecido en este punto.
La tabla con las características de los lenguajes:
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 |
*Design changes expected
Para más información sobre todas las características (con detalle):
C# feature descriptions (es un PDF)
Visual Basic feature descriptions (es una página web)
Si quieres probar estas novedades, puedes hacerlo desde la versión preview de Visual Studio 2015 la cual te la puedes descargar desde este enlace.
Espero que te sirva y… eso… a ver si voy haciendo algunas pruebas…
Nos vemos.
Guillermo
…