5

これはコンパイルされませんが、私がやろうとしているのは、単に関数に渡されるオブジェクトを 't' にキャストすることですか?

public void My_Func(Object input, Type t)
{
   (t)object ab = TypeDescriptor.GetConverter(t).ConvertFromString(input.ToString());
}
4

2 に答える 2

14

次のようなことができます。

object ab = Convert.Changetype(input, t);

abただし、ジェネリックを使用することによってのみ行うことができる、厳密に型指定された方法で使用したいようです。

public void My_Func<T>(Object input)
{
   T ab = (T)Convert.ChangeType(input, typeof(T));
}
于 2012-06-28T14:34:40.567 に答える
1
public void My_Func(Object input, Type t)
{
    object test = new object();
    test = Convert.ChangeType(test, t);
    test = TypeDescriptor.GetConverter(t).ConvertFromString(input.ToString());
}
于 2012-06-28T14:36:36.060 に答える