У меня есть простая проблема: у меня есть структура Coordinates3D, которая в основном является 3D-точкой, но она также проверяет границы.Он имеет статические элементы maxX и minX и т. Д. И проверяет присвоенное значение координаты, чтобы соответствовать границам.Он также имеет логическое значение _check_boundaries, если значение равно false, он не будет проверять границы и разрешать любые значения для координат.В основном это выглядит так:
struct Coordinate3D {
public bool _check_boundaries;
private int _x;
public int X{
get{ return _x;}
set {
if (_check_boundaries)
{
... check min/max ...
}
_x = value;
}
}
... y and x follow...
}
Я хочу редактировать этот объект в propertyGrid (это свойство класса).Однако некоторые классы имеют ограниченные координаты, некоторые нет.Таким образом, для некоторых классов границы должны быть проверены, но не для других.Однако, когда я изменяю свойство этой структуры в propertyGrid, создается впечатление, что каждый раз создается новая структура.Следовательно, это либо «проверка границ» для всех случаев, либо «не проверка границ» для всех случаев, в зависимости от того, что установлено в конструкторе.
Есть ли способ обойти это?