.Net6 winform 程序使用依赖注入

引入NuGet

.Net6 winform 程序使用依赖注入_第1张图片

注册Autofac

在Program的var app = builder.Build();前加上这段代码

.Net6 winform 程序使用依赖注入_第2张图片

builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory());
builder.Host.ConfigureContainer(builder =>
{
    builder.RegisterType().As();
});

自动注册一个类库的服务

在Program注入autofac

.Net6 winform 程序使用依赖注入_第3张图片

builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory());
builder.Host.ConfigureContainer(builder =>
{
    Assembly assembly = Assembly.Load(ServiceCore.GetAssemblyName());
    builder.RegisterAssemblyTypes(assembly)
           .AsImplementedInterfaces()
           .InstancePerDependency();
});

在要注册的类库下的某个类中,写一个方法

.Net6 winform 程序使用依赖注入_第4张图片

.Net6 winform 程序使用依赖注入_第5张图片

public static class ServiceCore
    {
        /// 
        /// 获取程序集名称
        /// 
        /// 
        public static string GetAssemblyName()
        {
            return Assembly.GetExecutingAssembly().GetName().Name;
        }
    }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

你可能感兴趣的:(.Net6 winform 程序使用依赖注入)