我想更多地了解序列化在幕后如何在.NET(或Java)中工作,特别是属性如何使类/属性/字段可序列化。 AFAIK,C#中的属性,例如[Seraliable],只不过是存储元数据的类。它们不会在源代码中添加任何内容。但是,通过以某种方式添加一些属性,可以无需大惊小怪地对类进行序列化和反序列化。这对我来说似乎很神奇。编译器是否使用这些属性来添加代码?或者运行时环境是否使用这些属性来获取和发送信息?我的猜测是运行时环境使用反射器来访问这些属性,然后使用这些属性来获取或发送信息,但我需要确认,进一步解释和参考。
请注意,我的问题不是如何使用序列化。这个问题具体说明了.NET框架如何在幕后处理序列化。
欢迎任何帮助。提前谢谢。