我做一個抽象的類層次結構,例如:實現一個抽象類的層次 -
abstract public class BaseDirectory {
}
abstract public class BaseUser() {
protected readonly BaseDirectory _DIR
BaseUser(BaseDirectory dir) {
_DIR = dir;
}
}
然後我實現了抽象層次:現在
class MyDirectory : BaseDirectory {
internal void SomeMethod() {
}
}
class MyUser : BaseUser {
MyUser(MyDirectory dir) : base(dir)
{
}
internal void SomeMethod() {
_DIR.SomeMethod(); // <- how to do this?
}
}
,從MyUser
類,我想能夠訪問實例,我當然可以期待dir
。 C#程序員如何在風格上實現這一點?用MyUser
覆蓋_DIR
,其中包含未發佈的MyDirectory的私有屬性,在其他地方使用投射,完全是其他任何內容?
你可以添加'SomeMethod'到'BaseDirectory'作爲'abstract'方法? – juharr
@juharr我們假設'SomeMethod'特定於'MyDirectory' /'MyUser',並且在其他實現中必須拋出'NotImplementedException'。 – Alexander