在VS2010中,尽管使用了ShouldSerializeFoo方法,但是控制属性也不会被序列化,而且还有DesignerSerializationVisibility.Visible/Content.
这是代码:
class Class1 : UserControl {
[Browsable(true)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public string Foo {
get; set;
}
public bool ShouldSerializeFoo() {
return true;
}
public Class1() {
Foo = "dupa";
}
}
Run Code Online (Sandbox Code Playgroud)
但是,设计器不会为此属性生成任何内容:
//
// class11
//
this.class11.Location = new System.Drawing.Point(224, 262);
this.class11.Name = "class11";
this.class11.Size = new System.Drawing.Size(150, 150);
this.class11.TabIndex = 2;
this.class11.Load += new System.EventHandler(this.class11_Load);
Run Code Online (Sandbox Code Playgroud)