O proprietate indexată implicită se defineşte cu ajutorul cuvîntului-cheie default:
Code: Select all
ref class C
{
public:
property int default[int]
{
void set(int i, int value)
{
// Detalii de implementare
}
int get(int i)
{
// Detalii de implementare;
// ca exemplu se returnează 0.
return 0;
}
}
};
Code: Select all
// Cod C#:
class C
{
public int this[params int [] i]
{
set
{
// Detalii de implementare
}
get
{
// Detalii de implementare
return 0;
}
}
}
Code: Select all
ref class C
{
public:
property int default[... array<int> ^] // Eroare
{
void set(... array<int> ^, int value)
{
// Detalii de implementare
}
int get(... array<int> ^)
{
// Detalii de implementare;
return 0;
}
}
};
Doar următoarea variantă este acceptată:
Code: Select all
ref class C
{
public:
property int default[array<int> ^]
{
int get(... array<int> ^ i)
{
// Detalii de implementare;
return 0;
}
}
};
Prin urmare, implementarea unei proprietăţi indexate implicite avînd un număr variabil al parametrilor şi care să presupună ambele direcţii de acces, deocamdată este imposibilă.
Sursa: http://social.msdn.microsoft.com/Forums ... a6003d1a6/.
Next FAQ >>