none
Objekte vergleichen RRS feed

  • Frage

  • Hallo,
    ich hab mal wieder eine WPF-Frage.

    Kurze Erklärung:
    Ich hab ein Formular, in dem ein Startpunkt mittels Textboxen und Comboboxwerten angelegt werden kann.
    Über eine andere Combobox kann man gespeicherte Startpunkte auswählen, dadurch werden die Textboxen/Comboboxen mit den gespeicherten Werten vorbelegt.
    Jetzt soll der User aber die Möglichkeit haben den gespeicherten Startpunkt zu ändern, z.B. soll er die Möglichkeit haben, einen ganz anderen Ort als Startpunkt festzulegen.

    In dem darauffolgenden Button-Klick-Event möchte ich nun vergleichen, ob die gespeicherterte Startpunkt geändert wurde. Wenn ja, dann soll nämlich ein neuer Startpunkt erstellen werden, ansonsten kann mit dem gespeicherten Startpunkt weiter gearbeitet werden.
    Wie kann man so einen Vergleich am Besten und Einfachsten durchführen?
    Freitag, 25. September 2009 08:37

Antworten

Alle Antworten

  • Ich gehe mal davon aus, dass ein Startpunkt ein Objekt mit verschiedenen Eigenschaften ist. Zur Anzeige bindest du ein neues Objekt, welches du ggf. mit den Daten aus einem vorhandenen Objekt füllst. Wenn der Bediener fertig ist (z.B. OK gedrückt hat), dann vergleichst du die Inhalte des neuen Objektes mit dem Inhalt des ursprünnglichen Objektes und entscheidest, ob das neue Objekt verworfen wird und das ursprüngliche Objekt weiter genutzt wird, oder, ob das neue Objekt der Liste der Objekte hinzugefügt wird und dann für die Weiterverarbeitung genutzt wird.

    --
    Peter
    Freitag, 25. September 2009 09:35
  • Hallo Braziliano,

    von welchem System.Type ist Startpunkt ?
    Wenn es eine eigene Klasse ist, so sollte sie Equals überschreiben
    und ggf. auch IEquatable<T> so implementieren, so dass Du die
    Objekte direkt vergleichen kannst.

    Siehe auch: Richtlinien zum Überschreiben von Equals() und des Operators == (C#-Programmierhandbuch)
    und http://blogs.msdn.com/jaredpar/archive/2009/01/15/if-you-implement-iequatable-t-you-still-must-override-object-s-equals-and-gethashcode.aspx

    Gruß Elmar
    Freitag, 25. September 2009 11:05
  • Hallo Braziliano,

    Haben Dir die Antworten geholfen?

    Grüße,
    Robert

    Mittwoch, 7. Oktober 2009 07:03
    Moderator
  • Hallo Braziliano,

    Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
    Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.

    Grüße,
    Robert

    Donnerstag, 8. Oktober 2009 21:00
    Moderator
  • Hallo Robert,
    da zumindest mich solche "offenen" Geschichten viel Lesezeit kosten, um dann festzustellen:
    Titel war das was ich suchte, aber Inhalt nicht hilfreich, ergänze ich das mal:


    Ein Beispiel:
    Dim _quelleElement As UIElement = e.Source
    Dim _zielElement As UIElement = sender
    If Not (_quelleElement.Equals(_zielElement)) Then
    -> Elemente verweisen auf verschiedene Objekte (können inhaltlich aber gleich sein..;)

    Syntax mit(!) Erläuterung und Beispiel:

    Object.Equals-Methode (Object):
    http://msdn.microsoft.com/de-de/library/bsc2ak47(v=vs.110).aspx

    Liebe Grüße
    Ellen

    Donnerstag, 30. Januar 2014 01:04