gpt4 book ai didi

c# - 在 C# 接口(interface)中使用泛型

转载 作者:行者123 更新时间:2023-11-30 19:38:54 24 4
gpt4 key购买 nike

在我的 C# 应用程序中,我有一个如下所示的界面:

public interface IObject
{
Task<T> GetById<T>(int id);

Task<T> GetAll<T>();
}

然后我有一个实现这个接口(interface)的类:

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 does not implement interface member 'IObject.GetById(int)

MyClass does not implement interface member 'IObject.GetAll(int)

我做错了什么?

最佳答案

你需要移动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;
}
}

关于c# - 在 C# 接口(interface)中使用泛型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30402449/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com