私はこの問題を抱えています:
+、-、*、/演算子をサポートするジェネリッククラスを作成したいと思います。たとえば、Matriceクラス。問題は、一部のデータ型は上記の演算子のすべてをサポートし、一部はそれらの一部をサポートし、一部はまったくサポートしないことです。上記の演算子のどれがサポートされているかをクラスに認識させたいのですが、サポートされていない演算子がある場合は、コンパイル時エラーが表示されます。
例:
Matrice<int>
:intにはこれらの演算子がオーバーロード/定義されているため、+、-、/、*を実行できます
Matrice<string>
:文字列には+オーバーロード/定義しかないため、+しか実行できません。試行すると、コンパイル時エラーが発生
Matrice<string> a = new Matrice<string>;
Matrice<string> b = new Matrice<string>;
Matrice<string> c = a*b;
するはずです。
Matrice<CustomClass>
:CustomClassに/および+のみがオーバーロードされている場合(たとえば)、Matrice<CustomClass>
/および+演算子のみをサポートする必要があります