我需要使用传递给可变项的类型进行转换,这是可能的吗?如果是的话,怎么做?
在ForEach操作中我需要进行强制转换,我没有类型,只是对象的实例....
例如:(当然这只是一个假设的例子来展示我正在尝试做的事情)
private static void ForEach(Type[] tp, Action<string, Type> action)
{
for (int i = 0; i < tp.Length; i++)
action("test", tp[i]);
}
static void Main()
{
Type[] tp = new Type[]
{
typeof(int),
typeof(string),
typeof(double)
};
ForEach(tp, (x, y) =>
{
// make the cast here
// var aaaa = (y)(x);
});
}
static T Cast<T>(object input)
{
return (T)input;
}