C#:根据对象隐藏一些模型属性



所以基本上我有一个名为A的超类,它的子类是B和C。有一个模型类D。B 类和 C 类共享相同的模型 D 类。

但是,有一个名为 [ID] 的属性不属于类 C,但它属于类 B。

当我使用 C 类时,如何"隐藏"属性 [ID]?

使用接口:

interface IBComposite
{
    int ID {get;}
    string Name {get;set;}
}
interface ICComposite
{
    string Name {get;set;}
}
class D : IBComposite, ICComposite
{
    public int ID {get; set;}
    public string Name {get; set;}
}
class B
{
    private IBComposite myD;
    public B( IBComposite d ){ myD = d; }
    // Will "see" ID and Name on "myD"
}
class C
{
    private ICComposite myD;
    public C( ICComposite d ){ myD = d; }
    // Will "see" only Name on "myD"
}

相关内容

  • 没有找到相关文章

最新更新