gpt4 book ai didi

c# - 在 C# 控制台应用程序中正确使用 Autofac

转载 作者:太空狗 更新时间:2023-10-29 18:03:52 25 4
gpt4 key购买 nike

<分区>

我是 Autofac 的新手,所以对于菜鸟问题​​我深表歉意。我阅读了 Internet 上的每本手册,解释了使用 Autofac(或任何其他工具,如 Structuremap、Unity 等)时的基础知识。但是我找到的所有例子都是基础知识。我需要知道如何在我的代码中更深入地实现 Autofac。让我尝试通过这个控制台应用程序示例来解释我需要了解的内容。

class Program
{
static void Main(string[] args)
{
var container = BuildContainer();
var employeeService = container.Resolve<EmployeeService>();
Employee employee = new Employee
{
EmployeeId = 1,
FirstName = "Peter",
LastName = "Parker",
Designation = "Photographer"
};

employeeService.Print(employee);
}

static IContainer BuildContainer()
{
var builder = new ContainerBuilder();
builder.RegisterType<EmployeeRepository>().As<IEmployeeRepository>();
builder.RegisterType<EmployeeService>();
return builder.Build();
}
}

这很简单。我想弄清楚的是,当您深入研究代码时,您如何实现这一点。在这个例子中,当你执行这一行时

employeeService.Print(employee);

让我们假设“打印”方法有点复杂,需要使用另一个依赖项/类来完成他的任务。我们仍在使用 Autofac,所以我想我们需要像上面的示例那样做一些事情来创建依赖项。那是对的吗?在我的“print”方法中,当我需要使用另一个类时,我必须创建另一个容器,填充它,将它与 Resolve() 一起使用等等?有更简单的方法吗?可以在所有解决方案中使用具有所有所需依赖项的静态类?如何?我希望清楚。也许我也不能表达我的需要。 :(对不起我糟糕的英语。我在学习 Autofac 的同时还在学习它。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com