Я только что просмотрел "C # in Depth" и наткнулся на следующий код:
Func<string> stringFunc = () => "";
Func<object> objectFunc = () => new object();
Func<object> combined = objectFunc + stringFunc;
Я почти уверен, что добавление двух функций не имеет смысла в математике, так почему любой программист хочет перегрузить двоичный код operator+
для функций? Кажется, это прекрасный пример того, почему перегрузка операторов может причинить вред (и я обычно поддерживаю идею перегрузки операторов).
Что значит добавить две функции в C #? (Я ноб C #, так что терпите меня.)
Согласны ли вы, что перегрузка operator+
здесь была ошибкой проекта?
Что может быть лучше синтаксиса для достижения того, что он делает operator+
здесь?