タイトルの日本語があっているかは微妙ですが、以下のようなことをやりたかった。
Dictionary<T,Hoge<T>> dict = new Dictionary<T,Hoge<T>>(); class Hoge<T> where T : 何か{ //処理 }
object型を指定する
baseTを継承したところで、取り出す際には結局キャストをして上げなければならない。なら、わざわざインターフェースを継承させる手間を増やす必要もない。(すでに同じものを継承しているなら別) objectは全てのクラスなどの元となっているため、Dictionary
Dictionary<Type,object> dict = new Dictionary<Type,object>(); //入れる時 dict.add(typeof(T),hoge); //出すとき var hoge = (Hoge<T>)dict[typeof(T)];
ちなみに、typeofはリフレクションという割と処理が重い操作らしいので、多用しないようにすること。
初めて見たときにわかりやすいサイトさんがあったのでそちらも参考にしてください。
リフレクションを利用して文字列からクラス操作 - (void*)Pないと