21 Stimmen

Unterschied zwischen der Implementierung einer Schnittstelle und der Anwendung eines Attributs in C#

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.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X