wpf mvvm Gleichheit
-
06-07-2019 - |
Frage
Ich möchte ein MVVM in einem WPF-Projekt verwenden, arbeite ich an, einschließlich der Verwendung von RelayCommands (aka DelegateCommands). Ich laufe in ein interessantes, aber Frustration Problem Gleichheit für meine Viewmodel bei der Umsetzung skizzierte href="https://stackoverflow.com/questions/1626680/net-delegate-equality">. Ich habe eine Basisklasse in meiner Ansichtsmodell-Hierarchie, die alle Eigenschaften reflexiv als Teil seines Gleichheitsvergleiches untersucht, und der Befehl konsequent versagt, auch wenn es aussieht wie soll es nicht.
Wie sind andere von Ihnen diesen Design-Ansatz mit Gleichheit zu tun?
Cheers,
Berryl
Lösung
Wenn Sie die Delegierten zu vergleichen, ist es wahrscheinlich, dass, vor allem wenn Sie lambdas oder anonyme Delegaten verwenden, dass ihre RuntimeTypes unterschiedlich sind.
Mein Vorschlag wäre, dass Sie die Equals-Methode für diese Art von Hand auf jede Art außer Kraft setzen. Sie sind wahrscheinlich eine Performance-Einbußen dabei, diese Reflexion basierte Vergleiche zu nehmen und Sie werden immer in diese kleinen nitpicky Probleme gehen laufen.
Ich weiß, es wie etwas, fühlt man sollte einmal und für immer lösen kann, aber dies wahrscheinlich nicht zu sein scheint. Ich hoffe, dass dies nicht den Wind nicht lassen zu viel aus den Segeln.