La struttura del C# non mi è del tutto nuova.
Il mio problema è il seguente: ho un programma scritto in diversi linguaggi, da molte persone: C, C++, Python (versione 2.5). Per poter uniformare tutto il codice, ho intenzione, pian piano, di riscriverlo tutto utilizzando C# e Python (versione 3.0).
Il C++ e il C# sono molto simili: entrambi sono orientati agli oggetti e gran parte della sintassi del C# deriva da quella del C++. Quello che mi mette in difficoltà, sono i dettagli: ad esempio, con il seguente codice C++ (ovviamente non funzionante, poiché è stato inventato sul momento):
#define function(x) ((void)NULL)
class NomeClasse
{
public:
char getPosition(int pos) const
{
function(pos<length);
return pData[pos];
}
};
Cambiando la sola definizione della macro in #define, cambierei anche tutte le "function" che compaiono di seguito nel codice e non dovrei cambiarle manualmente.
Col C# è possibile fare una cosa del genere, o devo scrivere tutto manualmente, ad ogni minimo cambiamento?