Die einfachsten Objekte in .Net haben keine benutzerspezifischen Daten, nur einige interne Plattform Informationen über ihren Typ und In-Memory-Speicherort ihrer tatsächlichen Daten. Aus Sicht des Anwenders (des Entwicklers) "existieren" sie nur und unterscheiden sich nur in ihrer "Identität". Ihre Klasse kann in keiner Weise erweitert werden. Ich sehe keinen Sinn darin, irgendetwas zu klonen.
Kompliziertere Objekte werden von etwas abgeleitet und werden letztendlich vom Basisobjekt abgeleitet. In .Net gibt es keine Kopierkonstruktion und keine Deep-Copying-Semantik. Auf der Ebene der nicht-basischen Objekte hat es also keinen Sinn, etwas zu kopieren.
Auf der Ebene der Metadaten enthält jedes Objekt Informationen darüber, zu welcher (welchen) Klasse (n) es gehört. Die Metainformationen werden geteilt, und alle Objekte derselben Klasse zeigen nur auf die gemeinsamen Metainformationen. Klonen immer noch keinen Sinn.
Daher würde ich sehr überrascht sein, wenn die Objekterstellung in einer Prototyp-Klonierung getan wurde. Ich weiß es nicht mit absoluter Sicherheit, aber ich wette, das ist es nicht. Ich bin mir ziemlich sicher, dass die Objekterzeugung nur die Zuweisung eines kleinen Speicherblocks ist und vielleicht ein paar Zeiger innerhalb seiner Kopfzeile setzt.
Es sicherlich nachprüfbar ist, wenn jemand * ngen * einige Code s und zerlegt es zu sehen, wie neu() Operator arbeitet :)
+1 für die Verwendung von süßen Latein :) – RedFilter
+1 für ungewöhnliche und interessante Frage – quetzalcoatl
@RedFilter: Was schmeckt bitteres Latein oder klingt wie? – BoltClock