Tus*_*are 4 .net c# static-classes
我有以下类结构:
public abstract class PresenterBase
{
public static Dictionary<string, MethodInfo> methodsList;
public void Bind()
public void Initialize();
}
public class DevicePresenter: PresenterBase
{
public void ShowScreen();
public void HandleEvents();
}
public class HomePresenter: PresenterBase
{
public void ShowScreen();
public void HandleEvents();
}
Run Code Online (Sandbox Code Playgroud)
我希望HomePresenter和DevicePresenter具有在PresenterBase中定义的methodsList静态成员的单独副本.
不幸的是,他们与上述实现共享相同的副本.
它们是替代方法,我可以为HomePresenter和DevicePresenter单独复制methodsList吗?我不愿意在派生类中定义methodsList,因为将来如果有人添加另一个派生类,他必须记住将methodsList添加到该类.
不要让它静止.那不行吗?
static与该类型相关的手段; 非static意味着与实例相关联.
我没有方便的Visual Studio实例,但我相信你也可以abstract在基类中标记该字段; 然后编译器将要求您将其添加到任何派生类.您绝对可以使用酒店.
在另一方面,考虑到上面的代码,我可能会添加抽象方法ShowScreen()和HandleEvents()到PresenterBase.
| 归档时间: |
|
| 查看次数: |
1408 次 |
| 最近记录: |