目前这是不可能的,因为扩展方法必须在静态类中,并且静态类不能有运算符重载。
C#语言PM的Mads Torgersen说:
…对于Orcas版本,我们决定采用谨慎的方法,仅添加常规扩展方法,而不是扩展属性,事件,运算符,静态方法等。常规扩展方法是LINQ所需要的,它们具有一种语法上最小的设计,对于其他某些成员来说,这是不容易模仿的。
我们越来越意识到其他类型的扩展成员也可能有用,因此我们将在Orcas之后再讨论这个问题。但是,没有任何保证!
编辑:
我刚刚注意到,Mads在同一篇文章中写道:
遗憾的是,我们将在下一个版本中不再这样做。我们确实在计划中非常重视扩展成员,并花了很多努力来使他们正确,但是最终我们无法使其顺畅,因此决定让位给其他有趣的功能。
对于将来的版本,这仍然是我们的注意事项。如果我们能获得大量引人入胜的方案来帮助进行正确的设计,那将会有所帮助。
当前(可能)在C#8.0上具有此功能。Mads
在这里讨论了更多有关实现它的内容。



