Archivi Blog

C# 7.0 in Visual Studio “15”

Microsoft ha rilasciato da poco la Preview 5 di Visual Studio “15”, nome ancora non definitivo basato sul numero di versione. Presumo che alla fine si chiamerà Visual Studio 2016 o 2017, in base al momento del rilascio della RTM, ma ancora non è possibile sapere nulla.

Intanto, da una Preview all’altra, stanno arrivando le notizie sulle nuove caratteristiche dell’ambiente di sviluppo, del .NET Framework e dei linguaggi.

In questo breve post voglio soprattutto elencare le novità di C# 7.0:

  • Tuples (tuple)
  • Pattern matching
  • Out variables
  • Deconstruction
  • Local functions
  • Literal improvements
  • Ref returns and locals
  • Non-Nullable reference types
  • Immutable types

Qualcuno di voi noterà che alcune di queste caratteristiche arrivano dalla programmazione funzionale e in particolare dal linguaggio F# (per esempio le “tuple”, il pattern matching, i tipi “immutabili” e i tipi riferimento Non-Nullable).

Un po’ di tempo fa ho iniziato a studiare il linguaggio F# ed evidentemente ora sta iniziando ad essermi utile anche negli altri linguaggi .NET…!

Non è tutto qui: i linguaggi C# e Visual Basic ora sono open source (F# lo era già), attraverso il progetto Roslyn che ora è stato rinominato “.NET Compiler Platform”.

Insomma, preparatevi: la nuova versione di Visual Studio porterà molte novità e molte cose nuove da studiare e provare.

Stay tuned!

[VS] Debug delle classi del Framework .NET

A quanto pare è arrivato il momento di poter dare uno sguardo al Framework .NET!

Infatti, Microsoft ha reso possibile eseguire il debug delle classi contenute nel Framework .NET, naturalmente in sola lettura. Per vedere come è possibile applicare questa possibilità a Visual Studio 2008, vi consiglio questa pagina (in inglese): http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx.

Possono essere visionate le seguenti librerie:

  • .NET Base Class Libraries (inclusi System, System.CodeDom, System.Collections, System.ComponentModel, System.Diagnostics, System.Drawing, System.Globalization, System.IO, System.Net, System.Reflection, System.Runtime, System.Security, System.Text, System.Threading, etc).
  • ASP.NET (System.Web, System.Web.Extensions)
  • Windows Forms (System.Windows.Forms)
  • Windows Presentation Foundation (System.Windows)
  • ADO.NET e XML (System.Data e System.Xml)

Attenzione: non è possibile usufruire di questa opportunità con la versione Express.