假设我有这样的代码:
interface IObject
{
IObject GetSomeObject();
}
public class ObjectClass : IObject
{
IObject GetSomeObject()
{
// method implementation here
}
}
有什么方法可以使 ObjectClass
类的 GetSomeObject()
方法返回 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> { ... }
关于c# - 从接口(interface)继承的方法可以返回接口(interface)中的另一种类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28503189/