我正在尝试清除解决方案中的所有设计器错误,但遇到了以下错误:
无法显示此文件的设计器,因为无法设计其中的任何类。设计者检查了文件中的以下类: DoubleAttributeTextBoxBase --- 无法加载基类“NumericAttributeTextBoxBase”。确保已引用程序集并且已构建所有项目。
这些类都是在同一个程序集中定义的,所以我知道这不是引用问题。我想知道这是否与基类是通用的这一事实有关。有任何想法吗?
public class DoubleAttributeTextBoxBase : NumericAttributeTextBoxBase<double>
public class NumericAttributeTextBoxBase<T> : TextBox where T : IComparable, IComparable<T>
正在设计的类的基类必须是非抽象和非泛型的。使从泛型类继承的类可设计。解决方法是在中间插入一个简单的非泛型类:
public partial class DoubleAttributeTextBoxBase
: NumericAttributeTextBoxBaseOfDouble
{
public DoubleAttributeTextBoxBase()
{
InitializeComponent();
}
// Now DoubleAttributeTextBoxBase is designable.
}
public class NumericAttributeTextBoxBaseOfDouble
: NumericAttributeTextBoxBase<double>
{
}
为了使这尽可能简单,您甚至可以将非泛型类与您要设计的类放在同一个文件中。只要确保把它放好after类(正如我上面所做的那样),因为设计者希望文件中的第一个类是正在设计的类。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)