在我的C#应用程序中,我有一个界面如下:
public interface IObject
{
Task<T> GetById<T>(int id);
Task<T> GetAll<T>();
}
然后我有一个实现此接口的类:
public class MyClass : IObject
{
public async Task<MyClass> GetById(int id)
{
return null;
}
public async Task<List<MyClass> GetAll()
{
var results = new List<MyClass>();
return results;
}
}
在构建时,我收到以下错误:
MyClass没有实现接口成员&#39; IObject.GetById(int)
MyClass没有实现接口成员&#39; IObject.GetAll(int)
我做错了什么?
答案 0 :(得分:8)
您需要将T
移至界面,看起来您需要GetAll
才能返回List<T>
:
public interface IObject<T>
{
Task<T> GetById(int id);
Task<List<T>> GetAll();
}
public class MyClass : IObject<MyClass>
{
public async Task<MyClass> GetById(int id)
{
return null;
}
public async Task<List<MyClass>> GetAll()
{
var results = new List<MyClass>();
return results;
}
}