我有两个非常相似的类(这是 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 ...
}
}