隐藏Class1中Class3实例的属性并显示Class2

时间:2014-09-10 07:14:31

标签: c# class properties

我得到Class1Class2,他们都有Class3的实例,其中包含属性MyName ...是否可以隐藏属性MyName Class3中的Class1个实例,仅在Class2中显示? 谢谢。

2 个答案:

答案 0 :(得分:1)

我建议您从MyName移除Class3,然后创建一个Class4,其源自Class3并拥有属性MyName。创建一个Class4的实例,您可以在其中显示"显示"这个属性和Class3的一个实例,你想要隐藏"它。

答案 1 :(得分:0)

创建两个实现相同接口的类。

public class Class3 : IClass
{

}

public class Class4 : IClass
{
    public string MyName{get;set;} 
}

public class Class1
{
    IClass _IClass;

    public Class1(IClass class)
    {
        this._IClass = class;
    }   
}

public class Class2
{
    IClass _IClass;

    public Class2(IClass class)
    {
        this._IClass = class;
    }   
}

当你创建Class1的实例时,Class2注入了相关的实现。

Class1 class1 = new Class1(new Class3());
Class2 class2 = new Class2(new Class4());