可以说我有这样的代码:
interface IObject
{
IObject GetSomeObject();
}
public class ObjectClass : IObject
{
IObject GetSomeObject()
{
// method implementation here
}
}
Run Code Online (Sandbox Code Playgroud)
有什么办法,我让GetSomeObject()班级的方法ObjectClass回归ObjectClass,不是IObject吗?
我知道我可以像这样使用它:
ObjectClass object1= someObject1.GetSomeObject() as ObjectClass;
Run Code Online (Sandbox Code Playgroud)
但我想要达到的目标是:
public class ObjectClass : IObject
{
ObjectClass GetSomeObject()
{
// method implementation here
}
}
Run Code Online (Sandbox Code Playgroud)
这样可能吗?
你可以使用泛型:
interface IObject<T> where T : IObject<T>
{
T GetSomeObject();
}
public class ObjectClass : IObject<ObjectClass> { ... }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60 次 |
| 最近记录: |