【发布时间】:2014-01-21 17:41:03
【问题描述】:
我有大约 6 个类都继承自同一个基类。我正在制作一个用户界面以允许用户编辑这些类,然后将它们保存到数据库中。如果我只能使用泛型,我可以让所有代码都能正常工作。
一旦我尝试使表单通用,就会出现一些严重的问题。我已经阅读了一些解决方案,例如:http://social.msdn.microsoft.com/Forums/windows/en-US/afdfce40-8d7a-4300-bd8d-26e18c320a71/designer-error-with-descendant-of-generic-form?forum=winformsdesigner,但它们似乎并没有真正起作用。所有这一切都是为了给我一个设计好的表单 - 但不能与泛型一起使用,以及一个带有泛型的空表单类,它继承自。
我需要一个可以在设计器中编辑的表单,并在我的程序中使用泛型类型进行构造,它维护了设计器中的所有设计和代码。
有人对此有有效的解决方案吗?
【问题讨论】:
-
您是否尝试过将基类作为参数传递给表单的构造函数?这应该允许您将继承的类传递给表单。但是,如果我没记错的话,只有基类属性会暴露给表单。如果您不希望对继承的类进行太多更改,则可以使用枚举和选择块将类转换为继承的类型。
-
Does anyone have a working solution for this?- 是的,它叫做WPF。 -
hmm - 也许您将不得不创建一个通用代理对象,然后从它们中多次初始化表单实例......手动将泛型中的属性写入表单......但这远非有趣.
标签: .net vb.net winforms generics visual-studio-2012