相关疑难解决方法(0)

C#通用运算符

我试图像这样实现一个泛型运算符:

class Foo
{
   public static T operator +<T>(T a, T b) 
   {
       // Do something with a and b that makes sense for operator + here
   }
}
Run Code Online (Sandbox Code Playgroud)

我真正要做的就是优雅地处理继承.使用Foo中的标准运算符+,其中T代替"Foo",如果有人来自Foo(比如Bar继承Foo),那么Bar + Bar操作仍将返回Foo.我希望用泛型运算符+来解决这个问题,但是我只是得到了上面的语法错误(在<)让我相信这样的代码是不合法的.

有没有办法制作通用运营商?

c# generics operator-overloading

21
推荐指数
3
解决办法
2万
查看次数

标签 统计

c# ×1

generics ×1

operator-overloading ×1