首页 > 编程语言 >ASP.NET Core中对开放泛型(Open Generic)的依赖注入

ASP.NET Core中对开放泛型(Open Generic)的依赖注入

时间:2023-10-19 22:13:48浏览次数:37  
标签:Core ASP Generic res List IRepository id Add public

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

相关文章

  • Autofac.Core.DependencyResolutionException-DefaultObjectMapper
    异常: 解决方法在模块配置AutoMapper的配置文件处修改validate参数的值true改为false ......
  • ASP.NET 定时发送邮件以及将数据库的数据以table形式发送
    1:代码写在Global.aszx中,系统自动运行 2:对Send()方法进行编辑,设定发送的时间、发送邮箱和接收邮箱publicvoidSend(objectsender,System.Timers.ElapsedEventArgse){SqlConnectionmyconn=newSqlConnection("DataSource=100.0.4.51;InitialC......
  • 在.net core 6.0 中 使用WebAPI进行QQ的邮件发送
    首先,是在工作中遇到的发邮件问题,但是自己还没有去实现,就先写了一个Demo。主要的内容是在网上搜的。下面进入正文。首先发邮件,第一步要确认发送的邮件的邮箱是那个邮箱的邮箱号,比较绕。就像我是拿QQ邮箱作为发件人,那么我就需要登录QQ邮箱,点开设置(由于我登录的是网站版的所以设置......
  • ASP.NET Core中DI中Add*方法对类的假定
    在ASP.NETCore的依赖注入(DI)容器中,当你使用Add*方法和泛型类型来指定要注册的类时,容器会做出以下假设:(1)类必须是具体类(ConcreteClass):使用Add*方法注册的类必须是一个具体的类,不能是接口或抽象类。这是因为你正在为特定服务类型注册一个实际的实现类。(2)类应该只有一个相关的构造......
  • vue +asp.net core webapi跨域
              vue代码:  login.vue  <template>  <divclass="login-wrap">      <el-buttontype="primary"style="width:100%;"@click="doSubmit()">提交</el-button>      ......
  • EFCore学习笔记 - 主键
    主键1、自增主键简单,但是不满足分布式,并发性能差long、int等类型主键,默认为自增自增字段的代码中不能为Id赋值,必须保持默认值0,否则运行的时候就会报错因为是数据库生成的值,所以SaveChanges()后会自动把主键的值更新到Id例子:插入帖子后,自动重定向......
  • EF Core学习笔记 - 配置
    约定配置1、主要规则表名采用DbContext中对应的DbSet的属性名数据表列的名字采用实体类属性的名字,列的数据类型采用喝实体类属性类型最兼容的类型,可以自定义设置数据表列的可空性取决于对应实体类属性的可空性名字为Id的属性为主键如果主键为short,int或者lo......
  • System.TypeLoadException:“程序集“XXXX.K3.SCM.App.Core, Version=1.0.0.0, Cultur
    一、问题描述:网站页面调用方法时报错:报错内容如下:System.TypeLoadException:“程序集“XXXX.K3.SCM.App.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”中的类型“XXXX.K3.SCM.App.Core.StockService”的方法“WriteBackAfterByInWhenAudit”没有实现。”......
  • C#/.NET/.NET Core优秀项目和框架精选(2023年10月更新,项目分类已整理完成欢迎大家踊跃
    https://www.cnblogs.com/Can-daydayup/p/17758479.html思维导航前言开源框架开源项目实用工具&软件实用SDK&类库界面&控件&UI库加入DotNetGuide技术交流群前言帮助开发者发现功能强大、性能优越、创新前沿、简单易用的C#/.NET/.NETCore优秀项目和框架,无论你是寻......
  • [LeetCode] 2530. Maximal Score After Applying K Operations
    Youaregivena 0-indexed integerarray nums andaninteger k.Youhavea startingscore of 0.Inone operation:chooseanindex i suchthat 0<=i<nums.length,increaseyour score by nums[i],andreplace nums[i] with ceil(nums[i]/3).......