这是一个简单的问题,我不知道正确的Xml语法。在城堡windsor我可以复制这行代码:
IoC.Container.AddComponent<IInputRequestedDialog<string>, SealsInputDialog>("seals");
使用这个Xml:
<component id="seals"
service="MyApp.InputRequestedDialog`1[[System.String]], MyApp"
type="MyApp.SealsInputDialog, MyApp" />
但是如果具体泛型是字符串数组而不是字符串呢?我如何xml-ize以下?
IoC.Container.AddComponent<IInputRequestedDialog<string[]>, SealsInputDialog>("seals");
答案 0 :(得分:2)
从the Castle Project Mailing list引用Ken Egozi:
我刚刚做了
Console.WriteLine(typeof (IFoo<string[]>).FullName);
输出是:
IFoo`1 [[System.String [],mscorlib, 版本= 2.0.0.0,文化=中立, 公钥= b77a5c561934e089]]
所以我猜
service="MyApp.InputRequestedDialog`1[System.String[] ], MyApp"
应该工作, 如果没有,
service="MyApp.InputRequestedDialog`1[[System.String[], mscorlib, Version=
2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], MyApp"
System.String []工作得很好,我学会了如何找到一个类型的正确Xml表示!