我在Visual Studio 2010中收到一条警告消息(标题中的那个)
基本上,我已经做了一个通用的形式,它有一堆变量,虚函数。
它接受我创建的一个类作为参数,并将其分配给一个局部变量(然后使用getter和setter将其作为一个属性)
然后我做了另一个表单,它继承了这个表单。一切都很好,它可以运行,但当我尝试查看它的设计器时,我得到了错误消息。
public TAGeneric(TAManager iManager)
{
ControlHelper.SuspendDrawing(this);
mManager = iManager;
SetStyle(ControlStyles.OptimizedDoubleBuffer |
ControlStyles.UserPaint |
ControlStyles.AllPaintingInWmPaint, true);
InitializeComponent();
SetupCommandBar();
ControlHelper.ResumeDrawing(this);
}那是他的父母。
public TAAddInterval(TAManager iManager) : base(iManager)
{
InitializeComponent();
}这是个孩子。忘记我在使用"manager“这个词的事实,因为它是不受欢迎的。有没有人对这个问题有所了解?从字面上看,运行起来很好,但当尝试在designer中编辑图形部分时,它不会加载它。
谢谢你的帮助。
发布于 2012-09-18 21:04:56
我怀疑你需要为设计器提供一个无参数的构造函数来使用:
public TAAddInterval(TAManager iManager) : base(iManager)
{
InitializeComponent();
}
[Obsolete("This constructor only exists for the benefit of the designer...")]
public TAAddInterval() : this(null)
{
}如果你有一些你可以提供的伪TAManager,如果设计者碰巧遇到了一些使用管理器的代码,这可能会避免抛出NullReferenceException。
发布于 2012-09-18 21:05:42
你可能只需要一个无参数的构造函数,设计器就可以很好地工作了。
https://stackoverflow.com/questions/12477615
复制相似问题