オーバーロードと聞けばメソッドを思い出しますが、今回は演算子のオーバーロードです。
演算子には + や - がありますが、これらの演算子をオーバーロードすることができます。
宣言時には operator を指定し、必ず public static でなければなりません。
- public static 戻り値の型 opreator 演算子 ( パラメータ 1, パラメータ 2 ) { }
パラメータは2つありますが、単項演算子の場合は1つで、2項演算子の場合は2つとなります。
このパラメータには、少なくとも1つの型は演算子を定義するクラス自身でなければなりません。
使用できる演算子の一覧を下記に記載します。
表を見て頂けばわかるのですが、代入演算子の = はオーバーロードすることができません。
さらに、従来の演算子をオーバーロードで隠蔽することや、ref や out などのパラメータを使用することはできません。