我试图描述性的 :) 这与其说是编码问题本身,不如说是编程风格的问题。
假设我们有:
答:
public class MyDict {
public Dictionary<int,string> dict;
// do custom-serialization of "dict"
public void SaveToFile(...);
// customized deserialization of "dict"
public void LoadFromFile(...);
}
乙:
public class MyDict : Dictionary<int,string>
{
}
就编程风格而言,哪个选项更好? B 类:将在外部进行反序列化。
主要问题是:是创建新类(它只有一个属性——比如 opt A:)更好,还是创建一个新的派生类——比如 opt B: 更好? 除了添加/删除和反/序列化到流之外,我不想要任何其他数据处理。
提前致谢!
最佳答案
为什么你需要创建一个新类?或者更确切地说,为什么它必须是一个可以加载和保存自身的类?为什么在其他地方没有方法:
public void SaveDictionary(Dictionary<int, string> dictionary, string fie)
public Dictionary<int, string> LoadDictionary(string file)
关于只有单个属性 : derive from base or encapsulate into new? 的 C# 新类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2479682/