只有单个属性 : derive from base or encapsulate into new? 的 C# 新类

标签 c# class coding-style derived-class

我试图描述性的 :) 这与其说是编码问题本身,不如说是编程风格的问题。

假设我们有:

答:

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/

相关文章:

java - 设计关联类之间的连接

objective-c - 类类型 Objective C

Java 字符串比较 : style choice or optimization?

c++ - "std::endl"与 "\n"

C# PdfSharp - 从 HTML 生成 PDF 的困难

c# - 数据库项目部署流程

c# - 用另一个位图删除部分位图

c# - 为什么以及如何在Environment.Exit中使用Windows系统错误代码

java - 我编译然后在 java.exe 中运行这段代码,然后收到错误

c - 在 C 语言中,为什么更多的函数比更复杂的函数更可取?