我有一個用戶控件,有幾個公共屬性,一個是我設置的對象[可瀏覽(false)]。當我在Visual Studio的設計器中添加此控件時,生成的代碼將此對象設置爲null。當用戶控件在公共屬性上的Browsable爲false時,爲什麼設計者在添加到表單時將其設置爲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中想做到這一點,我很好奇,如果有一種方法,以紀念它,這樣它不設置它。我通過將對象設置爲構造函數中的某些東西來發現這一點,只是爲了觀察控件的父級將其設置回null。
`Browseable`屬性僅用於指定公共屬性是否應在設計時顯示在「屬性窗口」中。所以如果你把它設置爲'false',它應該被顯示。你的`null`值可能是由`no rebuild`造成的。 – 2015-08-13 13:25:16