如何在 ASPNETCORE 3 中创建通用 Host class 扩展方法,这是一种好的做法吗?

How to and is good practice to create generic Host class extension methods in ASPNETCORE 3?

在典型的 aspnet 核心应用程序中。 以Program.cs

为例
var host = new HostBuilder()
      .Build(); 

   await host.RunAsync(); 

如果我们希望使用扩展方法扩展 HostBuilder 功能,我们必须如何声明,就像在 netcore <2.2 中使用 "CreateDefaultBuilder()" 和 IWebHost 一样。

创建 IHostBuilder 扩展方法。

开始使用静态方法创建静态 class (public) 导入到要使用该方法的客户端。

声明如下:

public static class MyHostHostBuilderExtension
    {
        public static IHostBuilder CreateMyBuilder(this IHostBuilder hostBuilder)
[...]

在 Program.cs 中使用 HostBuilder() 实例。

var host = new HostBuilder().CreateMyBuilder().Build();

如果您使用静态主机 class,请注意。无法延期。