【发布时间】:2015-09-28 19:35:29
【问题描述】:
假设你有这个通用的method:
public static T ConvertValue<T, U>(U value) where U : IConvertible
{
return (T)Convert.ChangeType(value, typeof(T));
}
如果我想在另一个泛型方法中调用此方法。外部泛型方法必须接收实际参数值作为参数,以设置内部泛型方法的<T, U>(U value)。
如何正确实现这一点,以便我可以调用OuterGeneric 并为其提供适当的参数?
这只是我需要如何使用它的演示。
public void OuterGeneric<TypeT, TypeU>(TypeT tType, TypeU uType, TypeU valueOfTypeU)
{
// Call of Generic method
TypeT recieverOf_T = ConvertValue<tType, uType>(valueOfTypeU);
}
// Some way to call OuterGeneric. How?
【问题讨论】:
-
你想用这些
tType和uType做什么?为什么不将TypeT和TypeU作为通用参数传递?我没有得到你的“示范”,这似乎使显而易见的事情过于复杂。 -
@WiktorZychla 如果他在编译时不知道类型是什么,他将不得不这样做。
标签: c# generics dynamic arguments