昨天和前天,我在一条消息上浪费了相当长的时间,但没有收到。
一段时间后,我意识到这是由于[serialize]
该消息中存在的一个类的开头缺少标签造成的:由于该标签不存在,该类无法序列化,因此未创建该消息并且显然没有发送。
现在我想了想:这样的标签有什么意义呢?为什么 C# 语言(或一般的 .NET 技术)不简单地将所有类声明为可序列化?这会导致什么可能的缺点?
有些人想结束这个问题作为这个问题的重复,但是这个问题解释了提到的标签的作用,但没有解释为什么它不是所有类的标准配置设置(因此这个问题的“语言律师”标签)。
我认为在 StackOverflow 意义上可以回答的问题(尽管在 SoftwareEngineering.Stackexchange.com 上可能更好)是“自动将所有类声明为可序列化原因可能存在的缺点是什么?”
有几个: