Каков наилучший способ избежать (или контролировать) инициализацию разработчиком тяжелого настраиваемого свойства в .NET? Иногда важно, чтобы свойство было установлено на что-то изначально, без того, чтобы этот параметр действовал при первоначальном задании.
В воображаемом примере, приведенном ниже, я хочу добиться гибкости использования свойства UpdateSetting в качестве свойства, а не неудобства, связанного с установкой базы данных на ноль при каждом запуске приложения. Все, о чем я могу думать, это другое свойство, которое разблокирует флаг.
public class A : UserControl
{
public int UpdateSetting
{
// Write to database or some such thing
}
...
public void InitializeComponent()
{
A a = new A();
a.UpdateSetting = 0; // Causes database write
}
}