я просто просмотрел «C# в глубину» и наткнулся на следующий код:Добавление двух функций?
Func<string> stringFunc =() => "";
Func<object> objectFunc =() => new object();
Func<object> combined = objectFunc + stringFunc;
Я уверен, что добавление двух функций не имеет смысла в математике, так почему бы любой программист хочет перегрузку бинарного operator+
для функций? Это, по-видимому, прекрасный пример того, почему операторы перегрузки могут наносить вред (и я вообще поддерживаю идею перегрузки оператора).
Что значит добавить две функции в C#? (Я C# noob, так что медведь со мной.)
Вы согласны с тем, что это была ошибка при проектировании, чтобы перегрузить
operator+
?Что было бы лучшим синтаксисом для достижения того, что есть
operator+
здесь?
Обычно вы не используете 'MultiCastDelegates' функции, возвращающие что-либо (return-type не' void'). – CodesInChaos