gpt4 book ai didi

c# - 如何在 structuremap 3 中进行 setter 注入(inject)

转载 作者:太空狗 更新时间:2023-10-29 23:14:55 24 4
gpt4 key购买 nike

我已经更新到 structuremap 3,现在我不能使用 FillAllPropertiesOfType 进行 setter 注入(inject)。

是否已弃用,我应该使用什么来代替?

最佳答案

我刚遇到同样的问题。看起来新的方法是通过 Registry.PoliciesExpression

public interface IInjectable
{
string Test();
}

public class Injectable : IInjectable
{
public string Test()
{
return this.GetType().ToString();
}
}

public class InjectTarget
{

public IInjectable Injectable
{
get;
set;
}

}

static class Program
{
static void Main()
{

ObjectFactory.Configure(x =>
{
//Setter injection
x.Policies.FillAllPropertiesOfType<IInjectable>().Use<Injectable>();

//Standard registration
x.For<IInjectable>().Use<Injectable>();
x.For<InjectTarget>().Singleton().Use<InjectTarget>();
});

var test = ObjectFactory.GetInstance<InjectTarget>();

Console.WriteLine(test.Injectable.Test()); //WindowsFormsApplication3.Injectable
}
}

关于c# - 如何在 structuremap 3 中进行 setter 注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22962775/

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