我試圖將更多的DRY原則付諸實踐並陷入知識的侷限性。我寫了一個我正在考慮用於不同對象的反序列化例程。返回不同對象的幫助程序方法
對一個對象來說它工作得很好,但是當我將它移動到一個幫助器中去重用反序列化代碼來處理另一個對象時...當然,它返回了錯誤的類型......但是我怎麼去返回不同的類型...重載(不是非常幹?)...也許返回一個通用的對象,然後鑄造..但那麼我的反序列化工作線將如何工作?
對象1 ABCD
對象2是WXYZ
助手的方法是:
internal static List<ABCD> DeserializeConfig()
{
.....snip....
XmlSerializer serializer = new XmlSerializer(typeof(List<ABCD>), xRoot);
//how would this line above work..pass in the object type like below
XmlSerializer serializer = new XmlSerializer(typeof(_passedObject), xRoot);
}
謝謝您的幫助
我只是在輸入註釋以獲得進一步的解釋......對象ABCD和WXYZ實際上是第三方,因此它們沒有裝飾,所以T檢查條件必須被刪除......但那不是你的錯。你的方式是更徹底更好的做法。 – GPGVM