こんにちは!与えられたタイプを汎用タイプに変換するにはどうすればよいですか?
このクラスされています
public static class FooClass<TFoo>
{
public static TFoo FooMethod(object source)
{
// implementation goes here
}
}
は今、私はこのクラスを作成したい:
public static class FooClass
{
public static object FooMethod(object source, Type fooType)
{
var classType = typeof (FooClass<>).MakeGenericType(fooType);
var methodInfo = classType.GetMethod("FooMethod", new[]
{
typeof (object)
});
// WHAT NOW?!
}
}
も言及:
FooMethod
のオーバーロードがFooClass<TFoo>
でありますが、私は上記のオーバーロードへのアクセスを与えたいだけです(署名は一致します - paramterNamesを除く)- 戻り値の
object
はsuccifient - 私は
FooMethod
FooClass
では一般的なことはできませんでしょう - それは反射コードから使用されるように、それは「オールドスタイル」のインターフェイスである必要があり
ドゥ(非ジェネリックバージョンで実装して)
それを変換またはキャストしたいですか? – Bobby
@bobby ?? ...私はメソッドを実行したい:) ...鋳造、別の場所で行われた変換... –
その場合、私はあなたの質問の意味を完全に忘れてしまった。 – Bobby