1
我正在研究使用System.Reflection
的一種映射器,在一種情況下,我有可能在我的值中包含對象或普通對象的列表,並使用它創建一些邏輯。如何重構列表<object>/object的操作?
它看起來像這樣更少:
if (myValue is IList) {
foreach (var value in myValue) {
...
DoSth(value);
...
}
} else {
...
DoSth(myValue);
...
}
,我也沒有概念重構它,以及(在這種情況下DoSth()
)不重複的代碼。有什麼方法可以做得更好嗎?
我不會調用兩個調用'DoSth()''重複代碼「。我看到你的代碼正常。 – SJuan76 2014-10-09 09:49:14
我沒有看到問題。多次調用方法不是你所稱的*重複代碼*。如果你這樣定義它,你就不應該兩次調用任何方法,這會破壞整個方法的重點。 *重複代碼*是用多種方法重複的一段代碼。 – 2014-10-09 09:50:22
如果'myValue'是一個列表,但它的一個*元素*也是一個列表,你想要做什麼? – 2014-10-09 09:53:20