L'altro giorno ho riscontrato un piccolo problema relativo alle proprietà di C#.Numero di proprietà C#
Diciamo che ho questa messa a punto:
public class Point
{
public float X;
public float Y;
}
public class Control
{
protected Point m_Position = new Point();
public Point Position
{
get { return m_Position; }
set
{
m_Position = value; }
// reorganize internal structure..
reorganize();
}
protected reorganize()
{
// do some stuff
}
}
Questo è tutto bene, ma quando si tratta di utilizzo, ho potuto scrivere qualcosa di simile:
Control myControl = new Control();
myControl.Position.X = 1.0f;
Il fatto è che la mia classe Control
non riconoscerà che lo Position
è stato modificato perché non è stato chiamato set()
.
C'è un modo per rendere Control
consapevole di eventuali modifiche Position
?
Intendi "Posizione punto pubblico" come proprietà, non "Posizione pubblica"? – Lazarus
Sì, mio errore. – impmja
Se vuoi che X e Y siano pubblici, è meglio struct Point che class Point –