Around and About .NET World

Il blog di Marco Minerva
posts - 1671, comments - 2232, trackbacks - 2135

My Links

News

Contattami su Live Messenger:


MCTS: Windows, Web, Distributed Applications & SQL Server

MCPD: Enterprise Applications

Tag Cloud

Archives

Post Categories

Links

Dietro le quinte delle proprietà automatiche di Visual Studio 2008

Tempo fa avevo già parlato della sintassi abbreviata per la definizione delle proprietà in C# con Visual Studio 2008. Oggi ho provato ad utilizzare Reflector per vedere il codice che di fatto viene generato a tempo di compilazione quando si utilizza questa feature. Partendo dalla seguente classe:

 

public class TestClass { public int MyProperty { get; set; } }

Quello che si ottiene è:

 

public class TestClass { // Fields [CompilerGenerated] private int <MyProperty>k__BackingField; // Properties public int MyProperty { [CompilerGenerated] get { return this.<MyProperty>k__BackingField; } [CompilerGenerated] set { this.<MyProperty>k__BackingField = value; } } }

Dunque niente più di quello che ci aspetta: il compilatore genera un campo privato per gestire il valore della proprietà. Notiamo che il nome della variabile comincia con il carattere <: quando si scrive il codice "direttamente" nell'editor, non è possibile utilizzare questo carattere per i nomi delle variabili. Viene inoltre aggiunto l'attributo CompilerGenerated, grazie al quale è possibile "capire" che gli elementi su cui è applicato sono stati generati automaticamente dal compilatore.

Print | posted on martedì 4 marzo 2008 12:40 | Filed Under [ C# Orcas & .NET 3.5 ]

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET