从动作C#中的参数中的类型passad转换

时间:2015-07-27 17:00:16

标签: c# casting

我需要使用传递给可变项的类型进行转换,这是可能的吗?如果是的话,怎么做?

在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;
    }

0 个答案:

没有答案