Похоже, что IValueFormatter
принимает значение типа object
и возвращает значение типа string
, а ValueResolver<TSource, TDestination>
принимает значение любого типа и возвращает значение любого типа. Таким образом, он более гибкий. Также существует вопрос, что с ValueResolver
вам никогда не нужно указывать источник на определенный тип - вы определяете его явно в своем определении класса.
Учитывая это, зачем использовать IValueFormatter
? Делает ли это что-то, что нельзя сделать с помощью ValueResolver
? Я не понимаю, как это работает?