由于接口不包含静态方法,有没有办法使实现/派生类中必须实现静态方法?
如果没有,还有其他方法可以实现这一目标吗?
我实际上使我的所有数据库类看起来像这样:
class MyClass : IMyClass, IPersistant
{
public int ID {get;set}
.....
.....
public int SaveOrUpdate(){}//returns the ID
public static MyClass Get(int id){}
public static IEnumerable<MyClass> Get(){}
public bool Delete(){}
}
Run Code Online (Sandbox Code Playgroud)
不,没有.静态方法不是多态的.
目前还没有好办法,真的.您可以使用并行类型层次结构 - 一个用于实例,一个"元"层次结构使用实例方法,否则您将拥有静态类型,但这也非常难看.
如果您可以详细说明您要做的事情,我们可能会提出其他建议.
编辑:看起来你真的想要一个Repository<T>并行层次结构来获取单个项目或集合.
| 归档时间: |
|
| 查看次数: |
163 次 |
| 最近记录: |