gpt4 book ai didi

unity-container - Unity Container InjectionConstructor - 无法将 lambda 表达式转换为类型 'object[]',因为它不是委托(delegate)类型

转载 作者:行者123 更新时间:2023-12-04 23:32:22 25 4
gpt4 key购买 nike

有谁知道如何解决 Unity Container InjectionConstructor 对 Func 没有任何重载这一事实?

this.unityContainer
.RegisterType<IService1Client, Service1Client>()
.Configure<InjectedMembers>()
.ConfigureInjectionFor<Service1Client>(
new InjectionConstructor(() =>
this.unityContainer.Resolve<User>()
.SelectedDepartment
.ApplicationServerUrl
.ToString()));

干杯,

最佳答案

您可以使用 InjectionFactory。

this.unityContainer.RegisterType<IService1Client>(
new InjectionFactory((ctr, type, name) =>
{
User user = this.unityContainer.Resolve<User>();
string url = user.SelectedDepartment.ApplicationServerUrl.ToString();
return new Service1Client(url);
}));

关于unity-container - Unity Container InjectionConstructor - 无法将 lambda 表达式转换为类型 'object[]',因为它不是委托(delegate)类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3094786/

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