【发布时间】:2011-02-06 14:21:20
【问题描述】:
我刚刚浏览了“C# in Depth”,偶然发现了以下代码:
Func<string> stringFunc = () => "";
Func<object> objectFunc = () => new object();
Func<object> combined = objectFunc + stringFunc;
我很确定添加两个函数在数学中毫无意义,那么为什么任何程序员都希望函数重载二进制 operator+ 呢?这似乎是一个完美的例子,说明为什么重载运算符 可以 有害(我通常支持运算符重载的想法)。
在 C# 中添加两个函数是什么意思? (我是 C# 菜鸟,请耐心等待。)
您是否同意在此处重载
operator+是设计错误?什么是更好的语法来实现
operator+在这里所做的一切?
【问题讨论】:
-
您通常不会将
MultiCastDelegates与返回任何内容的函数一起使用(返回类型不是void)。
标签: c# operator-overloading functor addition