我想傳遞參數給一個自定義appender的構造函數,所以我想我必須重寫Appenders的初始化機制。問題在於,我無法在文檔中找到將其掛鉤的方式,這使我認爲這是不可能的(或者文檔不完整)。我可以將參數傳遞給自定義log4net Appender的構造函數嗎?
至於版本1.2.10,這是不可能的,無需修改源代碼。相關的部分是在Repository\Hierarchy\XmlHierarchyConfigurator.cs:L286
:
IAppender appender = (IAppender)Activator.CreateInstance(SystemInfo.GetTypeFromString(typeName, true, true));
正如你所看到的,它應該使用這種過載(或東西沿着這種方式),讓我實現我的需求。
Activator.CreateInstance(Type, Object[])
Stefan,問題正是你最後寫的那個問題:我必須提供一個複雜的對象,它在運行時被實例化。 無法通過XML配置提供它。 – Simone 2010-10-15 12:21:29
您不能基於某些參數字符串創建此類的實例嗎? – 2010-10-16 07:38:33
不,我必須通過另一個現有的對象。 – Simone 2010-11-11 11:59:03