C# 如何使用在主对象属性上设置了注册名称的unity解析依赖对象?
我在使用Unity解决类型时有点问题 下面是我想做的一个例子:C# 如何使用在主对象属性上设置了注册名称的unity解析依赖对象?,c#,.net,dependency-injection,inversion-of-control,unity-container,C#,.net,Dependency Injection,Inversion Of Control,Unity Container,我在使用Unity解决类型时有点问题 下面是我想做的一个例子: public class MainClass { public void MainMethod() { UnityContainerHelper.DefaultContainer.Resolve<FirstClass>(new ParameterOverride("Property1", "SomeValue")); UnityContainerHelper.Default
public class MainClass
{
public void MainMethod()
{
UnityContainerHelper.DefaultContainer.Resolve<FirstClass>(new ParameterOverride("Property1", "SomeValue"));
UnityContainerHelper.DefaultContainer.Resolve<FirstClass>(new ParameterOverride("Property1", "OtherValue"));
}
}
public class FirstClass
{
[InjectionMethod]
public void DoSomething(SecondClass sc)
{
}
}
public class SecondClass
{
public string Property1 { get; set; }
[InjectionMethod]
public void DoSomething()
{
UnityContainerHelper.DefaultContainer.Resolve<ThirdClass>(this.Property1);
}
}
public class ThirdClass
{
}
public类MainClass
{
公共方法()
{
UnityContainerHelper.DefaultContainer.Resolve(新参数覆盖(“Property1”、“SomeValue”);
UnityContainerHelper.DefaultContainer.Resolve(新参数覆盖(“Property1”、“OtherValue”);
}
}
公务舱头等舱
{
[注射法]
公共无效剂量测定(二级sc)
{
}
}
公务舱二等舱
{
公共字符串属性1{get;set;}
[注射法]
公共无效剂量测定法()
{
UnityContainerHelper.DefaultContainer.Resolve(this.Property1);
}
}
公共类第三类
{
}
编辑:当我解析我的第一个类时,有没有办法配置Unity以按名称解析我的第三个类
问题是,我只想显式地解析第一类,通过配置,告诉Unity在解析第二类时“使用第三类”。我明白了吗
我正在尝试使用“解析层”来完成这项工作,但我想知道是否有一种简单的方法可以做到这一点。您可以告诉Unity使用工厂方法以您想要的方式解析您的类 看看: 我从:
你能用散文写下你的问题是什么吗。在我看来,代码是解决方案的一部分,而不是问题的一部分。谢谢。我已经编辑了提示,PVitt。谢谢