0

我需要一个从ContextBoundObject拦截继承的表单,能够使用某些方法。问题是 C# 中不允许多重继承。

public partial class FrmListItems : Form, ContextBoundObject
{

}

有谁有想法吗?

4

1 回答 1

0

您始终可以创建一个继承 aContextBoundObject并实现所有所需行为的“模型”类,而不是使用数据绑定来填充表单上的 UI 元素以在屏幕上显示所有必要的数据。您可以查看各种模式,例如 MVx 模式(MVPMVCMVVM),以清楚地将您的业务逻辑与 UI 分开。

即使 C# 具有多重继承,我也会建议避免这种继承,因为这违反了这些类之间的“IS A”关系。

您始终应该更深入地考虑您的设计,以降低维护成本。放入一类 UI 和业务逻辑总是会导致难以维护和发展的晦涩代码。

例如,我很难理解您将如何测试您的解决方案。使用单独的类也大大简化了可测试性。

于 2012-12-18T15:47:22.640 回答