ho capito provando chePerché usare @property in D?
struct PropertyTest
{
@property int x() { return val; }
@property void x(int newVal) { val = newVal; }
void test()
{
int j;
j = x;
x = 5;
}
private:
int val;
}
fa esattamente la stessa cosa quando lascio la @property
fuori. Tutto va bene. Qual è il punto allora per dichiarare funzioni come @property
?
BTW, sto usando il compilatore dmd2.
Al momento il compilatore è più permissivo di quello che potrebbe essere in futuro. Contrassegnare getter e setter con @property è un buon metodo per la prova futura. Per vedere come sarà il futuro, compilare con -property. –