Entwickler-Ecke
C# - Die Sprache - Übergabe von Objekteigenschaft
ein c# Programmierer - Do 28.01.21 16:42
Titel: Übergabe von Objekteigenschaft
Hallo,
ich stelle mir die Frage wie man in C# bestimmte Eigenschaften von bereits konstruierten Objekten übergeben kann.
Also ich habe eine Klasse Clients und ein konstruiertes Objekt
Clients person1 = new Clients(); mit verschiedenen Eigenschaften der Klasse
Clients. Kann ich ein neues Objekt Person2 erstellen, dass genau die gleichen Werte wie Person1 hat?
Vielen Dank :D
Moderiert von Th69: C#-Tags hinzugefügt
Palladin007 - Do 28.01.21 18:56
Wie Th69 schon sagt - es geht.
Aber wozu?
Bei C# arbeitet man normalerweise nicht mit Kopien, sondern mit Referenzen.
Du kannst also einfach die Referenz weiter geben und hast in der nächsten Methode alle Daten, wie vorher auch und jede Änderung ist auch überall sonst verfügbar.
Wenn Du aus irgendeinem Grund doch eine "richtige" Kopie haben willst, würde ich das immer manuell umsetzen.
Also z.B. "Copy"-Methode, in der Du sämtliche Daten korrekt kopierst und eine neue Instanz erzeugst.
Das hat den Vorteil, dass Du die Kontrolle darüber behältst und nicht ständig aufpassen musst, was Du als Variable ablegst, es gibt nämlich auch Klassen, die sollte man nicht "MemberwiseClone"n.
jfheins - Do 28.01.21 22:16
Mit den neuen records (ab C# 9) geht das relativ einfach:
C#-Quelltext
1: 2:
| var person = new Person { FirstName = "Mads", LastName = "Nielsen" }; var otherPerson = person with { LastName = "Torgersen" }; |
Ansonsten bleibt dir nur eine manuelle Kopie, u.U mit externen Bibliotheken wie Automapper.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!