[英]Unity run-time resolving?
我在控制台程序中有以下代碼。
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。
如何統一使用? 這可能是一個新手問題。
您需要針對同一接口注冊命名映射,並使用作為參數傳遞的名稱進行解析。
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]);
閱讀在容器中注冊類型映射以獲取解釋
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.