В продолжение этого вопроса:
Плохо ли возвращать разные типы при перегрузке метода?
Я думаю об очень простом интерфейсе картографа, который я использую:
public interface IMap<T,U>
{
U MapFrom(T obj);
T MapFrom(U obj);
}
Возможно, это более точный пример обсуждения отмеченного вопроса. Экземпляр, реализующий этот интерфейс, просто отображает между типами.
Я мог бы сделать это так:
public interface IMap<T,U>
{
U MapRight(T obj);
T MapLeft(U obj);
}
но это кажется глупым, потому что концептуально понятия от до и от на самом деле не применимы к моему универсальному преобразователю здесь. Это просто двунаправленная карта.
Итак, чтобы дополнить связанный вопрос:
Является ли эта общая карта плохой практикой?
Как я должен называть методы, чтобы избежать возврата различных типов без ущерба для "универсальности" интерфейса?
РЕДАКТИРОВАТЬ: Кроме того, в ответ на ответ это это для картографа (не то, что это действительно актуально). Я просто не включаю метод отображения в интерфейс.
EDIT2: Полагаю, тот же вопрос применим, если бы у меня был однонаправленный картограф (или адаптер), тогда я реализовал его дважды для двух направлений ... одно и то же имя метода, другой тип возвращаемого значения.