Mam model Foo, który zawiera 5 propercji A, B, C, D oraz E. Ponadto mam klasy FooDTO (A, B, C, F) oraz FooViewModel (A, C, D, F). Do mapowania wykorzystuję AutoMapper. Problem jest taki, że jeśli zmienię typ lub nazwę propercji,np. z A na A2 to muszę pamiętać żeby to zrobić również w FooDTO oraz FooViewModel, ponieważ dane przestaną być mapowane, a to wprowadza błąd. Rozwiązałem to poprzez wykorzystanie interfejsu, który od strony programowej nie pełni żadnej roli, służy mi on aby "połączyć" ze sobą propercje między klasami. Dzięki temu po zmianie nazwy jednej propercji, zmiana jest automatycznie dokonywana przez Visual Studio w innych klasach implementujących ten interfejs. Wprowadza to trochę bałagan, bo dla FooDTO tworzę interfejs IFooDTO (A, B, C), dla FooViewModel interfejs IFooViewModel (A, C, D). Foo implementuje oba te interfejsy. Niestety jest też propercja F, której nie ma w Foo, dlatego przydałby się interfejs IF implementowany przez FooDTO i FooViewModel. Z jednej strony rozwiązuje to jeden problem, ale z drugiej tworzy się mały bałagan.
Czy da się połączyć te propercje bez użycia żadnych programowych mechanizmów typu interfejsy, w taki sposób aby Visual Studio śledziło zmiany nazw i automatycznie je aktualizowało w innych powiązanych klasach? Może jest taka funkcja w reSharper?