可能重复:
为什么C#操作符重载必须是静态的?
为什么静态关键字在C#中所有重载运算符的函数签名之前如下:
public static void operator =(Object a,Object b)
当我们做a = b时; 然后一个值将被隐式传递.所以不需要static关键字.它必须像:
public void operator =(对象b)
是吗?
运算符是静态的这一事实允许它们在具有空值的情况下使用.它还强调了运算符不是多态应用的事实.(如果它们不是静态的话,它们可能会被多态地应用,不可否认......但是无论如何,压倒一切都是一个坏主意.)
(请注意,无论如何都不能在C#中重载赋值运算符.)
| 归档时间: |
|
| 查看次数: |
220 次 |
| 最近记录: |