这是 ITest 接口:
public interface ITest
{
Type ReturnType { get; }
Object MyMethod(params object[] args);
}
和测试类:
public class Test: ITest
{
public Type ReturnType { get { return typeof(long); } }
public Object MyMethod(params object[] args)
{
long sum = 0;
foreach(object arg in args)
{
sum += (long)arg;
}
return sum;
}
}
所以我需要一个自动转换方法结果的ITest
方法ReturnType
。
我认为是这样的:
public T Transform<T>(Type T, object result)
{
return (T)result;
}
并像这样使用:
Test test = new Test();
long result = Transform(test.ReturnType, test.MyMethod(1,2,3,4));
但正如你所知,我不能像这样使用泛型方法,我不想像这样显式声明返回类型:
long result = Transform<long>(test.MyMethod(1,2,3,4));
有什么建议吗?