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