为什么BindingSource组件无法看到继承的属性?(Why BindingSource com

2019-10-17 01:58发布

我定义的类:

public class Parent : IParent
{
    public string ParentText
    {
        get { return "ParentText"; }
    }
}

public interface IParent
{
    string ParentText { get;}
}

public class Child : Parent, IChild
{
    public string ChildText
    {
        get { return "ChildText"; }
    }
}

public interface IChild : IParent
{
    string ChildText { get;}
}

当我尝试绑定控件ICHILD例如,我可以为ChildText属性做到这一点,但不是ParentText财产。 如果我尝试绑定到儿童的实例,这两个属性是可绑定。 为什么数据绑定机制不会看到其他接口继承的属性?

编辑:新手的SharePoint是正确的:当手在代码中定义的数据绑定工作。 不过,我试图定义使用BindingSource组件在设计数据绑定。 当您添加对象源到项目,并将其指向ICHILD接口,只ChildText是可见的定义绑定。

我更新的问题的标题,以更好地反映我的问题。

Answer 1:

不能完全确定这一点,但这里有云:

因为ICHILD仅从IParent继承,也不能看到ParentText 执行 (即get访问),因为在家长存在,不IParent。 因此,结合ICHILD不会继承ParentText财产。

事实上,我不知道你为什么在所有绑定到一个接口。 你能做到结合ICHILD,你不能绑定到孩子?



Answer 2:

我认为,有在框架导致描述问题的错误。 下面是相关的连接问题:

https://connect.microsoft.com/VisualStudio/feedback/details/431273/interface-inheritance-bug



文章来源: Why BindingSource component cannot see inherited properties?