У меня есть пользовательский элемент управления, который имеет несколько общедоступных свойств, один из которых является объектом, где я устанавливаю [Доступный (false)]. Когда я добавляю этот элемент управления в конструктор Visual Studio, сгенерированный код устанавливает для этого объекта значение null.
public class Foo : System.Windows.Forms.UserControl
{
[Browsable(false)]
public object Bar { get; set; }
[Browsable(true)]
public bool IsSomething { get; set; }
...
}
private void InitializeComponent()
{
...
this.foo = new Foo();
this.foo.IsSomething = false;
this.foo.Bar = null;
...
}
Я не понимаю, почему Visual Studio захочет это сделать, и мне любопытно, есть ли способ отметить его, чтобы он не устанавливал его. Я обнаружил это, установив объект на что-то в конструкторе только для того, чтобы посмотреть, что родитель contol вернул его в нуль.