gpt4 book ai didi

c# - 窗口依赖注入(inject)

转载 作者:行者123 更新时间:2023-11-30 21:47:10 25 4
gpt4 key购买 nike

我想在 WPF 应用程序中使用 Unity 依赖注入(inject)。我的窗口抛出 System.Windows.Markup.XamlParseException:

"For type MainWindow found no default constructor".

这是我的代码:

App.xaml.cs:

IUnityContainer container = new UnityContainer();
container.RegisterType<MainWindow>();
container.RegisterType<IService, MyService>();
container.RegisterType<IRepository, MyRepository>();
container.Resolve<MainWindow>().Show();

MainWindow.xaml.cs:

public MainWindow(IService service)
{
InitializeComponent();
service.Test();
}

最佳答案

为了使 WPF 应用程序正常工作,您始终需要为您的 View 提供一个默认构造函数。

public MainWindow()
{
InitializeComponent();
}

然后像这样定义参数化构造函数:

public MainWindow(IService service) : this()
{
service.Test();
}

关于c# - 窗口依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38699636/

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