Hi,
steh grad aufm Schlauch. Problem:
Habe eine Klasse, sagen wir Person. Die Klasse Person hat mehrere Attribute: Name, Augenfarbe, Geburtsdatum. Ich erstelle 2 Instanzen dieser Klasse. Einmal Klaus, einmal Peter...
Wie kann ich prüfen ob beide Instanzen die selben Werte haben? Also, ausser bis auf die Speicheradresse, identisch sind? Und jetzt sagt bitte nicht "Naishweb, vergleiche einfach alle 2985 Attribute in einer Funktion." Bitte nich 😄
Hallo Naishweb,
Und jetzt sagt bitte nicht "Naishweb, vergleiche einfach alle 2985 Attribute in einer Funktion." Bitte nich 😄
Doch, das ist der normale Weg, das zu prüfen.
Man überschreibt Equals und füllt es mit genau dieser Logik.
Das stupide Auflisten aller Felder kann man sehr gut von z.B. ReSharper übernehmen - aber auch selbst kann man da relativ einfach etwas mit Reflection basteln.
Alternativ kannst du natürlich auch zur Laufzeit auf Reflection zurückgreifen - das ist aber eigentlich eher unüblich.
BTW: 2985 Properties für eine Klasse? 😮
Hallo Naishweb,
wenn du zwei Instanzen hast, also
Person personZero_x = new Person { Firstname="zero_x" }
Person personNaishweb = new Person { Firstname= "Naishweb" }
hast, dann bleibt dir nichts anderes übrig, als eine Logik für das Vergleichen zu schreiben. Ich persönlich würde das via Reflection lösen, sprich alle Properties zwischen zwei oder mehreren Instanzen zu vergleichen.
zero_x
zero_x | <span style="font-size: 10;">my</span><span style="font-size: 10;">CSharp</span><span style="font-size: 10;">.de</span> - gemeinsam mehr erreichen
Für längere Zeit inaktiv.