.Net core 泛型服务的注册

在.Net core注册一个泛型的服务

public interface IService<T>
{
    async Task DoAction();
}


public class Service<T> : IService<T>
{
    public async Task DoAction()
    {
        .... do action
    }
}


ServiceCollection.AddScoped<typeof(IService<>), typeof(Service<>)>();
ServiceCollection.AddScoped<typeof(ITInterface<>), typeof(TImplement<>)>(typeof(Service<>));
ServiceCollection.AddScoped(typeof(TImplement<>));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
.NET Core 中,可以使用懒加载(Lazy Loading)来延迟加载对象,直到它们被需要为止。这种技术可以提高应用程序的性能,因为它避免了不必要的资源消耗。 在 .NET Core 中,可以使用 Lazy<T> 类来实现懒加载。Lazy<T> 类是一个泛型类,它允许您延迟初始化对象,直到第一次访问该对象为止。 以下是一个使用懒加载的示例: ```csharp using System; class Program { static void Main(string[] args) { Lazy<HeavyObject> lazy = new Lazy<HeavyObject>(); Console.WriteLine("Press any key to create the HeavyObject instance..."); Console.ReadKey(); HeavyObject heavyObject = lazy.Value; Console.WriteLine("HeavyObject instance created."); } } class HeavyObject { public HeavyObject() { Console.WriteLine("HeavyObject instance created."); } } ``` 在这个例子中,创建了一个 Lazy<HeavyObject> 对象,当调用该对象的 Value 属性时,它会自动创建一个 HeavyObject 对象。在主程序中,当用户按下任意键时,程序会创建 HeavyObject 对象,并输出一条消息。 需要注意的是,Lazy<T> 对象的 Value 属性只会在第一次访问时初始化对象。如果您想在构造函数中初始化懒加载对象,可以使用 Lazy<T> 的构造函数进行初始化。 除了使用 Lazy<T> 类进行懒加载外,还可以使用 EF Core 中的延迟加载功能来延迟加载实体对象的属性。这种技术可以大大提高应用程序的性能,因为它可以避免在不必要的情况下加载实体对象的所有属性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值