El otro día me encontré con un pequeño problema con respecto a las propiedades de C#.C# propiedades problema
Digamos que tengo esta configuración:
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
}
}
esto está bien, pero cuando se trata de uso, podría escribir algo como:
Control myControl = new Control();
myControl.Position.X = 1.0f;
La cosa es que mi clase Control
no reconocerá que se ha cambiado el Position
porque no se ha llamado al set()
.
¿Hay alguna manera de hacer que Control
tenga conocimiento de algún cambio en Position
?
¿Quiere decir 'public Point Position' como propiedad, no' public Position'? – Lazarus
Sí, mi error. – impmja
Si desea que X e Y sean públicos, es mejor estructurar Punto que clase Punto –