Se ho una variabile privata su cui desidero avere una convalida interna, e voglio mantenere quella convalida in un posto, la metto dietro un getter/setter e solo accedervi con quel getter/setter. Questo è utile quando si tratta di proprietà pubbliche, perché l'altro codice non può accedere alla variabile privata, ma quando ho a che fare con oggetti all'interno della classe stessa, c'è un modo per far rispettare il getter/setter?forzare ottenere/impostare l'accesso di variabili private per proprietà private
private int _eyeOrientation;
private int eyeOrientation
{
get
{
return _eyeOrientation;
}
set
{
if (value < 0)
{
_eyeOrientation = 0;
}
else
{
_eyeOrientation = value % 360;
}
}
}
Il problema qui è che le altre funzioni della classe possono accidentalmente modificare
_eyeOrientation = -1;
che getterebbe il programma in un tizzy. C'è un modo per ottenere che per generare un errore del compilatore?
E 'un giorno triste quando i programmatori non possono più fidarsi di altre funzioni all'interno della stessa classe:) – codeulike