📅  最后修改于: 2023-12-03 15:11:07.164000             🧑  作者: Mango
在 .NET Core 中,我们可以使用依赖注入(DI)来实现松散耦合并增强可测试性。在控制台应用程序中使用 DI,可以使我们更容易地编写测试和单元测试,同时也可以更好地组织和管理我们的代码。
首先,我们需要创建一个控制台应用程序。可以使用 Visual Studio 或者命令行来创建。此处以命令行为例,使用以下命令:
dotnet new console -n MyConsoleApp
这个命令将创建一个名为 MyConsoleApp
的新的 .NET Core 控制台应用程序。
我们需要安装依赖注入库来实现依赖注入。在 .NET Core 中,有很多库可以使用。这里我们将使用官方推荐的 Microsoft.Extensions.DependencyInjection
库。可以使用以下命令来安装:
dotnet add package Microsoft.Extensions.DependencyInjection
我们需要在控制台应用程序的 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
方法。
在控制台应用程序目录中,可以使用下面的命令来运行应用程序:
dotnet run
应该可以看到类似下面的输出:
Hello, World!
在这个例子中,我们展示了如何在 .NET Core 控制台应用程序中使用依赖注入。我们可以通过添加服务来实现依赖注入,并且我们也可以使用 ServiceProvider
来获取服务的实例。