wpf mvvm равенство - PullRequest
       28

wpf mvvm равенство

0 голосов
/ 27 октября 2009

Я хотел бы использовать MVVM в проекте WPF, над которым я работаю, в том числе с использованием RelayCommands (он же DelegateCommands). Я сталкиваюсь с интересной, но разочаровывающей проблемой в реализации равенства для моих ViewModels, обозначенных здесь . У меня есть базовый класс в моей иерархии ViewModel, который рефлексивно проверяет все свойства как часть сравнения на равенство, и команда постоянно завершается ошибкой, даже если она выглядит так, как будто не должна.

Как другие из вас, используя этот подход к дизайну, имеют дело с равенством?

Приветствия
Berryl

1 Ответ

0 голосов
/ 27 октября 2009

Если вы сравниваете делегатов, вполне вероятно, что, особенно если вы используете лямбда-выражения или анонимных делегатов, их RuntimeTypes различаются.

Я бы посоветовал вам переопределить метод Equals для этих типов вручную для каждого типа. Вы, вероятно, испытываете снижение производительности при выполнении этих сравнений на основе рефлексии, и вы всегда будете сталкиваться с этими небольшими придирчивыми проблемами.

Я знаю, что такое чувство, что вы должны быть в состоянии решить раз и навсегда, но это маловероятно. Надеюсь, это не слишком пускает ветер с твоих парусов.

...