
AI
在使用 .NET Core 进行应用程序开发时,依赖注入是一个非常重要的概念。它允许开发人员将对象的创建和管理交给容器来处理,从而提高代码的可维护性和可测试性。.NET Core 的依赖注入容器可以自动解析对象之间的依赖关系,并且支持多种对象生命周期管理方式。然而,有些情况下我们可能希望在需要的时候才创建对象,而不是在注入时立即创建。这时,Lazy
using Microsoft.Extensions.DependencyInjection;using System;public interface IMyService{ void DoSomething();}public class MyService : IMyService{ public MyService() { Console.WriteLine("MyService 被创建了"); } public void DoSomething() { Console.WriteLine("MyService 正在做某事"); }}public class MyClass{ private readonly Lazy<IMyService> _myService; public MyClass(Lazy<IMyService> myService) { _myService = myService; } public void DoSomethingWithService() { _myService.Value.DoSomething(); }}public class Program{ public static void MAIn(string[] args) { var services = new ServiceCollection(); services.AddTransient<IMyService, MyService>(); services.AddTransient<MyClass>(); var serviceProvider = services.BuildServiceProvider(); var myClass = serviceProvider.GetService<MyClass>(); myClass.DoSomethingWithService(); }}在上面的代码中,我们定义了一个接口 IMyService 和它的实现类 MyService。接着,我们定义了一个 MyClass 类,它依赖于 IMyService 接口。在 MyClass 的构造函数中,通过 LazyCopyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号