题
您应该能够创建一个通用表单:
public partial class MyGenericForm<T> :
Form where T : class
{
/* form code */
public List<T> TypedList { get; set; }
}
是有效的 C#,并且可以编译。但是,如果您有任何图像表明无法找到资源,设计器将无法工作,并且表单将引发运行时异常。
我认为这是因为 Windows 窗体设计器假设资源将存储在简单类型的名称下。
解决方案
其他提示
我有一个解决这个问题的方法,它有效但并不理想:
将一个新类添加到项目中,该类继承具有简单名称的表单。
internal class MyGenericForm:
MyGenericForm<object> { }
这意味着尽管设计者仍然错误地期望简单类型(即没有 <>
)仍然被发现。
不隶属于 StackOverflow