public interface IRepository<T>
{
void Add(T entity);
List<T> Get();
}
public class Repository<T> : IRepository<T>
{
List<T> _list = new List<T>();
public void Add(T entity)
{
_list.Add(entity);
}
public List<T> Get()
{
return _list;
}
}
public static void Main(string[] args)
{
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddSingleton(typeof(IRepository<>), typeof(Repository<>));//接受两个开放泛型类型的type!!!!!!!!!!!!!
app.MapGet("/getall", (IRepository<int> res) =>//注意这里是IRepository<int>!!!!!!!!!!!!
{
return res.Get();
});
app.MapPost("/post/{id}", (int id, IRepository<int> res) =>//注意这里是IRepository<int>!!!!!!!!!!!!
{
res.Add(id);
return Results.Ok($"received {id}");
});
app.Run();
}
标签:Core,ASP,Generic,res,List,IRepository,id,Add,public
From: https://www.cnblogs.com/johnyang/p/17775778.html