MemberwiseClone
-
Hallo!
Kann mir jemand erklären bei welchen Datentypen die Funktion MemberwiseClone funktioniert und bei welchen nicht?
Also bei long Float int bool usw. weiß ich das es funktioniert.
Angeblich funktioniert es sogar auch für den Type Point -> obwohl ich das nicht verstehe warum.Bei welchen Typen funktioniert das sicher nicht?
Bei List würde ich mal denken das es sicher nicht funktioniert.Könnte mir vielleicht jemand von euch erklären wie das mit dem MemberwiseClone genau funktioniert. Und was jetzt wirklich kopiert wird und was nicht.
-
Es funktioniert bei Werttypen. Bei Referenztypen muss mit ICloneable arbeiten.
Aber ich hab dir doch in dem anderem Thread noch eine Lösung gepostet, hast du das noch gesehen?
-
Was ist alles ein Wertetyp? gibt es eine exakte Definition was ein Wertetyp ist? Mit google und auch in Wikipedia finde ich nix dazu, vielleicht verwende ich aber als Unwissender auch einfach nur die falschen Suchbegriffe.
Folgendes glaube ich zu wissen:
Wertetypen:int long float double
keine Wertetypen:
List<T>
Wohin gehört eigentlich Point und warum?
könntet ihr noch andere Typen aufzählen und in die Kategorien einordnen.
-
http://www.bing.com/search?q=c%23+value+types&go=&form=QBLH
Mal ehrlich, ein wenig im Netz suchen sollte kein Problem darstellen oder?
-
PuppetMaster2k schrieb:
http://www.bing.com/search?q=c%23+value+types&go=&form=QBLH
Mal ehrlich, ein wenig im Netz suchen sollte kein Problem darstellen oder?
THE_ONE schrieb:
Mit google und auch in Wikipedia finde ich nix dazu, vielleicht verwende ich aber als Unwissender auch einfach nur die falschen Suchbegriffe
Danke für deine Hilfe
Also die Dinger heißen nicht Wertetypen sond Werttypen
-
MemberwiseClone
funktioniert mit jedem Typ, da es vonSystem.Object
implementiert wird. Allerdings unterscheidet sich das Verhalten bei reference und value types:MSDN schrieb:
If a field is a value type, a bit-by-bit copy of the field is performed. If a field is a reference type, the reference is copied but the referred object is not; therefore, the original object and its clone refer to the same object.
-
Hab eine wirklich gute Seite gefunden die Werttypen (value type) und Verweißtypen (reference type) gut erklärt:
http://www.albahari.com/valuevsreftypes.aspx