我有兩個類(這是C#),它們非常相似,除了它們都包含它們自己的嵌套類和枚舉。減少具有不同嵌套類的兩個類中的代碼重複
我想重構他們都從一個抽象類繼承,但我遇到了一個問題,因爲這些方法都緊密耦合到嵌套的類類型。
我的第一個計劃是提取ItemDetails類,但它鏈接到ItemType,它是一個特定於每個視圖項目類的枚舉。此外,我不能僅僅使用System.Enum作爲類型,因爲我需要能夠將細節序列化爲一個xml文件。
我該如何減少這些類中的重複?
public class FirstViewItem
{
[Serializable]
public class ItemDetails
{
public ItemType Type;
public int Width;
public string Text;
public int DisplayOrder;
}
public enum ItemType
{
None = 0,
A,
B,
C
}
public FirstViewItem()
{
// ...
}
public List<ItemDetails>()
{
// code here ...
}
}
public class SecondViewItem
{
[Serializable]
public class ItemDetails
{
public ItemType Type;
public int Width;
public string Text;
public int DisplayOrder;
}
public enum ItemType
{
None = 0,
X,
Y,
X
}
public SecondViewItem()
{
// ...
}
public List<ItemDetails>()
{
// code here ...
}
}
這可能是更適合於[代碼審查(http://codereview.stackexchange.com/)... – 2012-04-20 13:37:06
我甚至不知道存在...好! – chills42 2012-04-20 19:22:12