温馨提示×

C#泛型在依赖注入中的使用

c#
小樊
121
2024-08-21 22:18:34
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在C#中,泛型在依赖注入中的使用可以通过泛型接口、泛型类或泛型方法来实现。

一种常见的方式是定义一个泛型接口,表示需要注入的依赖:

public interface IRepository<T>
{
    void Add(T entity);
    T GetById(int id);
}

然后,定义一个泛型类来实现这个接口:

public class Repository<T> : IRepository<T>
{
    public void Add(T entity)
    {
        // 实现添加逻辑
    }

    public T GetById(int id)
    {
        // 实现根据id获取实体逻辑
        return default(T);
    }
}

在使用依赖注入框架(如Unity、Autofac等)时,可以将泛型类注册到容器中,并在需要使用依赖时通过泛型注入:

var container = new UnityContainer();
container.RegisterType(typeof(IRepository<>), typeof(Repository<>));

var repository = container.Resolve<IRepository<User>>();
repository.Add(new User());
var user = repository.GetById(1);

这样就可以在依赖注入中使用泛型来实现更加灵活和通用的依赖注入。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:泛型在C#中的优势有哪些

0