2012-11-16 35 views
2

請注意,這不是實際的情況,而只是一個簡化的例子。如何創建一個可以包含編譯時未定義的屬性的自定義配置節?

可以說我有一個Log類,然後Sub分類從我有一個文件日誌和電子郵件日誌。 現在讓我們說,我想有一個配置節如

Logs> 
    Log Type="file" fileName="log.txt" Verbosity="3"/> 
    Log Type="email" emailAddress="[email protected]" Verbosity="1"/> 
    /Logs> 

目前,我有一個解決方案,只要我嘗試添加文件名或EMAILADDRESS *(這允許

Logs> 
    Log Type="file" Verbosity="3"/> 
    Log Type="email" Verbosity="1"/> 
    /Logs> 

但只是一個例子)我得到一個錯誤,因爲基本日誌類的配置部分不包含特定於子日誌類型的configurationProperties。有什麼辦法可以達到這個目的嗎?

回答

0

您可以覆蓋OnDeserializeUnrecognizedAttribute方法並將該值存儲在某種類型的包中。如果您查看System assembly中的System.Diagnostics.ListenerElement類,則可以看到它的確如此;您需要獲取框架源代碼或使用反編譯器。

+0

完美。謝謝。 – Paragon

相關問題