【发布时间】:2010-03-01 21:19:21
【问题描述】:
我需要有人确认我看到的内容,然后才能因为这个问题而更改应用程序的域。问题是,当对从另一个继承的接口进行数据绑定时,您看不到基本接口上的属性。
我正在开发一个使用数据绑定的 WinForms 应用程序。这是在 .net3.5 中,不,我不能使用 wpf。
无论如何,我有这样的设置。
public interface IClassOne
{
string Prop1 { get; set; }
}
public interface IClassTwo : IClassOne
{
string Prop2 { get; set; }
}
public abstract class ClassOne : IClassOne
{
public string Prop1 { get; set; }
}
public class ClassTwo : ClassOne, IClassTwo
{
public string Prop2 { get; set; }
}
基类将包含通用属性和逻辑。基本接口将具有这些通用属性,因此必须在每个具体实现上实现它们。
如果我将数据绑定到上面的类结构,我将绑定到 IClassTwo。问题是当我将数据绑定到 IClassTwo 时,我在 WinForms 的任何设计器操作中都看不到 Prop1。即使我绕过这个限制并获得一个绑定到 Prop1 的控件,它也不起作用。
但是,如果我绑定两个 ClassTwo,那么数据绑定就可以了。
我不想处理具体的类,因为这会使使用模拟和测试变得过于困难。我也不想将所有内容都放在 IClassTwo 上,因为当我进行另一个具体实现时,我必须重复代码。
我需要知道的是这是否真的行不通。如果你知道为什么,那将是一个奖励。
谢谢 托尼
【问题讨论】:
标签: winforms data-binding interface