可以说我有这样的代码:
interface IObject
{
IObject GetSomeObject();
}
public class ObjectClass : IObject
{
IObject GetSomeObject()
{
// method implementation here
}
}
有什么办法让我使类
GetSomeObject()
的ObjectClass
方法使return ObjectClass
,而不是IObject
吗?我知道我可以这样使用它:
ObjectClass object1= someObject1.GetSomeObject() as ObjectClass;
但是我想要实现的是:
public class ObjectClass : IObject
{
ObjectClass GetSomeObject()
{
// method implementation here
}
}
有可能这样吗?
最佳答案
您可以使用泛型:
interface IObject<T> where T : IObject<T>
{
T GetSomeObject();
}
public class ObjectClass : IObject<ObjectClass> { ... }