C#中具有多个接口的属性可访问性

时间:2015-05-22 13:08:32

标签: c# inheritance

我会尽力清楚。以下是上下文: 我正在编写一个库,它将在另一个项目中用作动态DLL。

我有1个内部和2个接口的类:

internal class FinalClass : IFinalClass
{
    public string Libelle { get; set; }
}

public interface IFinalClass : IBase
{
    // some properties
}

public interface IBase
{
    string Libelle { get; set; }
}

然后,我在我的项目中加载我的库,我只想操作IFinalClass类型。

我创建了一个包含许多IFinalClass项目的组合框,并将displaymember设置为“Libelle”。问题是:我看不到“Libelle”的价值,实际上会出现FinalClass的集合。 (就好像我们正在做一个ToString())。如果我是对的,那么组合框找不到属性“Libelle”。

但这很奇怪,因为如果我在填充组合框数据源之前将IFinalClass项目转换为IBase,一切正常。

我很好奇在这种情况下发生了什么。

(请注意,实现“Libelle”的类是内部的,因此其他项目不知道此类型。)

有什么想法吗? :) 谢谢!

1 个答案:

答案 0 :(得分:4)

默认情况下,"aok-e","aok-8","aok-c" 中的{p> LibelleAParentClass。 但在private中,默认情况下它是公开的。