【发布时间】:2012-07-31 22:05:45
【问题描述】:
在 SO 上发布类似问题一年后。 Generic Windows Form Template
你知道是否有更好的方法来使窗体通用,这就是我想做的:
public partial class EntryPointEditForm<T> : Form where T : ICriteriaObject<T>
{}
但是抛出一个错误告诉我:
找不到合适的方法来覆盖
关于方法:
protected override void Dispose(bool disposing)
【问题讨论】:
-
@AdamHouldsworth:我相信你是对的,但你的理由是错误的。设计者不需要对泛型参数做任何事情;设计器只使用基类。
-
@Slaks 我的理解(虽然我的记忆模糊,那是前一阵子)是设计试图实例化正在设计的类,但不能因为它没有
T,因此通过使用临时解决T为强类型似乎可行。 -
@AdamHouldsworth:不。设计者实例化 base 类,然后显式读取
InitializeComponent方法的内容。这就是为什么你可以设计一个抽象的表单类。 -
@Slaks 我明白了,我刚刚重新阅读了我的帖子并得出了相同的结论。我什至在我的帖子中说了这么多,哈哈,只是表明我对这个特定主题的记忆是多么无用——一定是我把它全部写下来的原因。
-
设法删除了包含我的帖子链接的评论。 Further reading.