【发布时间】:2011-02-25 05:45:22
【问题描述】:
好的...我正在编写一个 .NET CF (VBNET 2008 3.5 SP1) 应用程序,它有一个主窗体,它基于菜单点击动态加载特定的用户控件,这是一种框架思想。
这些控件都需要在应用程序中工作的某些方法和属性。
现在我正在将其作为一个接口来执行,但随着所有人都起床,这会变得更糟,因为有些方法是可选的,但我必须通过接口的性质来实现它们。
我更喜欢使用继承,这样我就可以通过可覆盖性来继承某些代码,但是如果我编写一个继承 System.Windows.Forms.UserControl 的类,然后从中继承我的控制权,它会显示曲线,并告诉我 UserControls 必须直接从System.Windows.Forms.UserControl继承。 (谈论一个设计缺陷!)
所以接下来我想,好吧,让我使用部分类来扩展System.Windows.Forms.UserControl,但是当我这样做时,即使一切似乎都编译得很好,我的控件上也没有出现我的新属性/方法。
有什么方法可以使用部分类来“扩展”System.Windows.Forms.UserControl?
例如,谁能给我一个部分类的代码示例,它只是将MyCount As Integer 只读属性添加到System.Windows.Forms.UserControl 类?如果我能看到如何做到这一点,我可以从那里得到它并添加我的其余功能。
提前致谢!我一直在搜索谷歌,但找不到任何似乎适用于 .NET CF 上的 UserControl 扩展的东西。接口方法让我发疯,因为即使是很小的变化也意味着更新所有控件,无论它们是否需要“覆盖”该方法。
编辑:如果可能的话,我真的在寻找一种方法来进行简单的代码继承,而无需视觉继承。我的控件没有共同的视觉元素,我真的只需要在代码隐藏中继承共同的功能。
【问题讨论】:
标签: .net vb.net compact-framework .net-3.5