3

私はジェネリック メソッドを作成していましたが、+、+=、-、-= などの特定の演算子Tを持つジェネリック型に制約を追加する方法があるかどうか疑問に思っていました。T

public void TestAdd<T>(T t1, T t2)
{
    return t1 + t2;
}

次のエラー テキストが生成されます。

Operator '+' cannot be applied to operands of type 'T' and 'T'

Google/SO でしばらく検索しましたが、実際に関連するものは何も見つかりませんでした。

4

1 に答える 1

1

これは仕方ないと思う

次の方法で、それほど派手ではありません。

interface IAddable { void Add(object item); }
...
public void TestAdd<T>(T t1, T t2) where T : IAddable
{
   return t1.Add(t2);
}
于 2013-02-21T05:44:42.347 に答える