未找到“Track_Attack.TAGeneric”类型的构造函数。 C#Winforms
我在Visual Studio 2010中收到一条警告消息(标题中的那个)
基本上我已经制作了一个通用forms,它有一堆变量,虚函数。
它需要一个我作为参数创建的类并将其分配给一个局部变量(然后使用getter和setter将其作为一个顶点)
然后,我创建了另一种inheritance自此forms的表单。 一切都很好,它运行,但当我试图看看它的设计者时,我得到了错误信息。
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(); }
这是一个孩子。 忘记了当我不满意的时候我正在使用“经理”。 有人对这个问题有所了解吗? 字面上可以正常运行,但是当尝试在设计器中编辑图形方面时,它不会加载它。
谢谢您的帮助。
我怀疑你需要为设计师提供一个无参数构造函数来使用:
public TAAddInterval(TAManager iManager) : base(iManager) { InitializeComponent(); } [Obsolete("This constructor only exists for the benefit of the designer...")] public TAAddInterval() : this(null) { }
如果你有某种假TAManager
你可以提供,如果设计师碰巧遇到一些使用管理器的代码,可能会避免抛出NullReferenceException
。
您可能只需要一个无参数构造函数,设计器就可以正常工作。