Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用在主对象属性上设置了注册名称的unity解析依赖对象?_C#_.net_Dependency Injection_Inversion Of Control_Unity Container - Fatal编程技术网

C# 如何使用在主对象属性上设置了注册名称的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

我在使用Unity解决类型时有点问题

下面是我想做的一个例子:

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。谢谢