C# 统一运行时解析?

C# 统一运行时解析?,c#,unity-container,ioc-container,C#,Unity Container,Ioc Container,我在控制台程序中有以下代码 interface I { ...; string X { get; }; string Y {get; }; string Z {get; } ...} class A : I {...} class B : I {...} class C : I {...} 程序接受命令行参数,如test.exe b-x 10-z 20。它将产生一个瞬间B,并将X设置为10,Z设置为20 如何使用unity实现此功能?这可能是个新手问题 您需要针对同一接口注册命名映射,并使用作

我在控制台程序中有以下代码

interface I { ...; string X { get; }; string Y {get; }; string Z {get; } ...}
class A : I {...}
class B : I {...}
class C : I {...}
程序接受命令行参数,如
test.exe b-x 10-z 20
。它将产生一个瞬间B,并将X设置为10,Z设置为20


如何使用unity实现此功能?这可能是个新手问题

您需要针对同一接口注册命名映射,并使用作为参数传递的名称进行解析

var container = new UnityContainer();
container.RegisterType<I, A>("a");
container.RegisterType<I, B>("b");
container.RegisterType<I, C>("c");

I instance = container.Resolve<I>(args[0]);
var container=newunitycontainer();
容器注册类型(“a”);
容器。注册类型(“b”);
容器。注册表类型(“c”);
I instance=container.Resolve(args[0]);

阅读以获得解释

。。。然后继续,将实例上的X、Y、Z属性设置为其他参数。。。