所以基本上我有一个名为A的超类,它的子类是B和C.有一个模型类D.类B和类C共享相同的模型类D.
但是,有一个名为[ID]的属性不属于C类,但它属于B类。
当我使用C类时,如何“隐藏”属性[ID]?
答案 0 :(得分:2)
使用界面:
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"
}