Questa mattina ho avuto un interessante dialogo (via messenger) con Corrado Cavalli il quale mi ha fatto notare una mancanza nel mio blog di ieri (quello sulle proprietà).

Mi ha detto che in senso generale in VB (non VB.NET) è possibile definire la visibilità di una proprietà distinguendo fra getter e setter. Dalla discussione ne è comunque uscito che ne VB.NET ne C# lo permettono, almeno sino ad oggi.

Ma questo è un limite dei linguaggi, non di .NET. Infatti, il managed C++ permette di fare il distinguo in quanto mappa il getter e setter su dei metodi:

__gc class Person
{
private:
 String* firstName;
protected:
 __property void    set_FirstName(String* firstName){ this->firstName = firstName; }
public:
 __property String* get_FirstName() { return firstName; }
 
};

Quindi, se usiamo MC++ abbiamo una variabile in più per scegliere fra proprietà o campi. Grazie Corrado ;-)