这可能是一个愚蠢的问题,但我还是要问一下,
我正在阅读Jim Keogh和Mario Giannini的《OOP Demystified: A Self-Teaching Guide》第11章,其中介绍了接口。该书中的示例为C++。
我注意到C++使用ISerializable使类可序列化,您需要实现它,而在C#中,您只需将类属性标记为[Serializable]即可。
这里的关键区别是什么?是否意味着使用接口必须提供实现,而如果标记某些东西,则编译器将为您解决实现?
我猜想,使用[Serializable]属性,.Net框架使用反射从实际对象创建序列化对象。
话虽如此,在这种情况下是否可以有一个[Disposable]属性或者按照我的理论,框架不知道如何处理对象的处理,因此您必须自己处理?
感谢解释。
我正在阅读Jim Keogh和Mario Giannini的《OOP Demystified: A Self-Teaching Guide》第11章,其中介绍了接口。该书中的示例为C++。
我注意到C++使用ISerializable使类可序列化,您需要实现它,而在C#中,您只需将类属性标记为[Serializable]即可。
这里的关键区别是什么?是否意味着使用接口必须提供实现,而如果标记某些东西,则编译器将为您解决实现?
我猜想,使用[Serializable]属性,.Net框架使用反射从实际对象创建序列化对象。
话虽如此,在这种情况下是否可以有一个[Disposable]属性或者按照我的理论,框架不知道如何处理对象的处理,因此您必须自己处理?
感谢解释。