■73049 / ) |
異なる型制約のジェネリック メソッドを呼び出す方法? |
□投稿者/ Tom (1回)-(2014/08/13(Wed) 23:24:07)
|
分類:[C#]
2014/08/13(Wed) 23:24:32 編集(投稿者)
C#でジェネリックを使った関数を作っているのですが、 次のように、あるジェネリック メソッドから 異なる型制約のジェネリック メソッドを呼び出す方法はあるでしょうか?
↓こういう余所のライブラリのクラスの関数があるとして public static class Utility { public static void FunctionForHoge<T>() where T : Hoge { ... }
public static void FunctionForFuga<T>() where T : Fuga { ... } }
↓こういう感じに呼び出したい void Func<T>(T piyo) { if (piyo is Hoge) Utility.FunctionForHoge<T>(); <--制約が違うため呼び出せないのを何とかしたい else if (piyo is Fuga) Utility.FunctionForFuga<T>(); <--ここも else ... }
どんな設計やねん!と突っ込まれるかもしれませんが、 何か面白い方法があったらぜひ教えてくださいm(_ _)m
|
|