2011-07-27 7 views
2

私は汎用オブジェクトを持っています:MyGenericObject(of T)、custom rendererをlog4netに設定ファイルに登録するにはどうしたらいいですか?たとえば、これは次のように機能するであろう通常のオブジェクトだった場合:汎用オブジェクトのLog4Netカスタムオブジェクトレンダラーを設定するには?

<renderer renderingClass="MyObjectRenderer, MyClassLibrary" renderedClass="MyObject(Of MyNonGenericObject), MyClassLibrary" /> 

が、これは起こった:私は、ジェネリックのためにこれを書く方法を知らないしかし

<renderer renderingClass="MyObjectRenderer, MyClassLibrary" renderedClass="MyObject, MyClassLibrary" /> 

、私はこれを試みた

log4net:ERROR XmlHierarchyConfigurator: Could not find class [MyObject(Of MyNonGenericObject), MyClassLibrary]. 
System.TypeLoadException: Could not load type 'MyObject(Of MyNonGenericObject)' from assembly 'MyClassLibrary'. 

誰も私が欲しいものを達成するための良いアイデアはありますか?

答えて

1

XMLファイルで使用している構文MyObject(Of MyNonGenericObject)は、MyObject<MyNonGenericObject>がC#に固有のように、VB .NET固有の構文です。

あなたは言語に依存しないCLR型の構文を使用するように宣言を変更:

MyObject`1[[MyNonGenericObject, MyClassLibrary]], MyClassLibrary 

(。1`後の型パラメータの数を示す)

をので、行は次のようになります。

<renderer renderingClass="MyObjectRenderer, MyClassLibrary" renderedClass="MyObject`1[[MyNonGenericObject, MyClassLibrary]], MyClassLibrary" /> 
+0

は意味があります、ありがとうございます。 –

関連する問題