📜  添加依赖注入 .net 核心控制台应用程序 - C# (1)

📅  最后修改于: 2023-12-03 15:11:07.164000             🧑  作者: Mango

添加依赖注入 .NET 核心控制台应用程序 - C#

在 .NET Core 中,我们可以使用依赖注入(DI)来实现松散耦合并增强可测试性。在控制台应用程序中使用 DI,可以使我们更容易地编写测试和单元测试,同时也可以更好地组织和管理我们的代码。

步骤
1. 创建一个新的 .NET Core 控制台应用程序

首先,我们需要创建一个控制台应用程序。可以使用 Visual Studio 或者命令行来创建。此处以命令行为例,使用以下命令:

dotnet new console -n MyConsoleApp

这个命令将创建一个名为 MyConsoleApp 的新的 .NET Core 控制台应用程序。

2. 安装依赖注入库

我们需要安装依赖注入库来实现依赖注入。在 .NET Core 中,有很多库可以使用。这里我们将使用官方推荐的 Microsoft.Extensions.DependencyInjection 库。可以使用以下命令来安装:

dotnet add package Microsoft.Extensions.DependencyInjection
3. 添加服务

我们需要在控制台应用程序的 Main 方法中添加服务。可以像下面这样添加一个简单的服务:

using Microsoft.Extensions.DependencyInjection;
using System;

namespace MyConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            var services = new ServiceCollection();

            // 添加一个名为 "MyService" 的服务
            services.AddSingleton<MyService>();

            // 创建一个 ServiceProvider 对象
            var serviceProvider = services.BuildServiceProvider();

            // 获取 MyService 的实例
            var myService = serviceProvider.GetService<MyService>();

            myService.DoSomething();
        }
    }

    public class MyService
    {
        public void DoSomething()
        {
            Console.WriteLine("Hello, World!");
        }
    }
}

在这个例子中,我们在 ServiceCollection 中添加了一个名为 "MyService" 的服务,并将其作为单例服务注册。然后我们创建了一个 ServiceProvider 对象,并使用 GetService 方法来获取 MyService 的实例。最后,我们调用了 DoSomething 方法。

4. 运行应用程序

在控制台应用程序目录中,可以使用下面的命令来运行应用程序:

dotnet run

应该可以看到类似下面的输出:

Hello, World!
总结

在这个例子中,我们展示了如何在 .NET Core 控制台应用程序中使用依赖注入。我们可以通过添加服务来实现依赖注入,并且我们也可以使用 ServiceProvider 来获取服务的实例。