我试图阻止Visual Studio序列化datasource
下拉列表。它只是一个简单的控件,从数据库加载其数据源,并从ComboBox继承。我用于数据的对象是不可序列化的,所以当我尝试做几乎所有设计人员,说代码生成失败时它会出错。我已经尝试将此添加到我的代码中,希望它能阻止VS这样做,但它没有用。
<Obsolete("This property does nothing.")>
<System.ComponentModel.Browsable(False)> _
<System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)> _
Public Shadows Property Datasource() As Object
Get
Return Nothing
End Get
Set(ByVal value As Object)
End Set
End Property
它仍然以某种方式访问datasource
,因此必须将我的控件视为ComboBox
并读取基类属性。有什么办法可以阻止吗?
答案 0 :(得分:0)
不完全是我的想法,但我想它确实回答了这个问题,因为我可以在设计时将控件绑定到数据源,但使用此属性,
if (LicenseManager.UsageMode == LicenseUsageMode.Designtime)
{
// design time only stuff
}
else
{
// runtime only stuff.
}
从这篇文章:http://dotnetfacts.blogspot.com/2009/01/identifying-run-time-and-design-mode.html
我可以阻止自己在设计时加载数据源,因此VS无需尝试序列化。