Unity运行时解析
本文关键字:运行时 Unity | 更新日期: 2023-09-27 18:10:11
在控制台程序中有以下代码:
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]);
读取向容器注册类型映射以获取解释