Das ist vielleicht eine dumme Frage, aber ich stelle sie trotzdem,
Ich las gerade "OOP Demystified: A Self-Teaching Guide von Jim Keogh und Mario Giannini", Kapitel 11, in dem es um Schnittstellen geht. Die Beispiele in diesem Buch sind C++.
Mir ist aufgefallen, dass C++ ISerializable verwendet, um eine Klasse serialisierbar zu machen, die Sie implementieren würden, während Sie in C# die Klasse einfach mit dem Attribut [Serializable] versehen.
Was ist hier der entscheidende Unterschied? Ist es, dass Sie bei einer Schnittstelle die Implementierung bereitstellen müssen, während der Compiler die Implementierung für Sie ausarbeitet, wenn Sie etwas attribuieren?
Ich vermute, dass mit dem [Serializable]-Attribut das .Net-Framework Reflection verwendet, um das serialisierte Objekt aus dem eigentlichen Objekt zu machen.
Das sagte ist es möglich, in diesem Fall ein [Disposable]-Attribut oder mit meiner Theorie oben der Rahmen nicht wissen, wie man tatsächlich ein Objekt daher entsorgen Sie es selbst tun müssen?
Für eine Klarstellung wäre ich dankbar.