演習の一環として、特定の型で使用した場合のジェネリック クラスの特定の動作を定義しようとしています。より正確には、ジェネリック型の明示的なキャスト演算子、つまり from list<T>
toを定義できるかどうか疑問に思っていました。int[]
いいえ、作業を行うメソッドを単純に定義できることはわかっていますが、これは演習の目標ではありません。
list<T>
次の明示的なキャストメソッドを定義しようとしていたジェネリッククラスを想定しています
class list<T> {
...
public static explicit operator int[](list<T> _t) where T : System.Int32
{
// code handling conversion from list<int> to int[]
}
}
ただし、これは機能しません。コンパイラにこれを飲み込ませる方法についてのアイデアはありますか?