【发布时间】:2015-05-23 05:52:32
【问题描述】:
在那里!
给出的是这个类:
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>中有重载,但我只想提供对上述重载的访问权限(签名匹配 - 参数名称除外) - returnType
object就足够了 - 我不能在
FooClass中使FooMethod通用 - 它应该是一个“旧式”接口,因为它将在反射代码中使用
【问题讨论】:
-
你想转换还是投射它?
-
@bobby ?? ...我想执行该方法:) ...铸造,转换在其他地方完成...
-
那么,我完全错过了你的问题的意思,对不起。