C#new class只有一个属性:派生自base还是封装成new?

Gob*_*bol 3 c# coding-style class derived-class

我试图描述性的:)这比编码问题本身就是编程风格的问题.

我们假设我们有:

A:

public class MyDict {
     public Dictionary<int,string> dict;
     // do custom-serialization of "dict"
     public void SaveToFile(...);
     // customized deserialization of "dict"
     public void LoadFromFile(...);
} 
Run Code Online (Sandbox Code Playgroud)

B:

public class MyDict : Dictionary<int,string>
{

}
Run Code Online (Sandbox Code Playgroud)

在编程风格方面哪个选项更好?B级:从外部去序列化.

主要问题是:创建新类(它只有一个属性 - 比如选择A :)或创建一个新派生类更好 - 比如选择B:?我不希望任何其他数据处理比添加/删除和/ /序列化流.

提前致谢!

Jon*_*eet 6

为什么你需要创建一个新类?或者更确切地说,为什么它必须是一个可以加载和保存自己的类?为什么不在其他地方使用方法:

public void SaveDictionary(Dictionary<int, string> dictionary, string fie)

public Dictionary<int, string> LoadDictionary(string file)
Run Code Online (Sandbox Code Playgroud)

  • @ TJMonk15 - 我不确定我会称之为"程序性"解决方案.我想@ Jon只是说将序列化分成它自己的类可能更好.毕竟,为什么词典会知道或者应该如何保持它.这似乎不是字典的功能,而是序列化器. (3认同)