1

これは、適切な Xml 構文を知らないという単純な問題です。Castle Windsor では、次のコード行を複製できます。

IoC.Container.AddComponent<IInputRequestedDialog<string>, SealsInputDialog>("seals");

この Xml では:

<component id="seals" 
    service="MyApp.InputRequestedDialog`1[[System.String]], MyApp" 
    type="MyApp.SealsInputDialog, MyApp" />

しかし、具体的なジェネリックが文字列ではなく文字列配列の場合はどうなるでしょうか? 以下をxml化するにはどうすればよいですか?

IoC.Container.AddComponent<IInputRequestedDialog<string[]>, SealsInputDialog>("seals");
4

1 に答える 1

2

Castle Project のメーリング リストから Ken Egozi を引用します。


今やりました

Console.WriteLine(typeof (IFoo<string[]>).FullName); 

出力は次のとおりです。

IFoo`1[[System.String[], mscorlib, Version=2.0.0.0 , Culture=neutral, PublicKeyToken=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 表現を見つける方法についても学びました。

于 2008-10-13T14:54:17.647 に答える