Ste*_*orn 5 c# arrays reflection casting
在C#中使用反射时,你需要传递一个稍后投射的参数的对象[],我有一个gui,让用户输入参数值.我知道他们希望输入什么类型的输入,int,string,float,自定义对象的实例等等......如果参数是某种类型的数组int [] foo [],它允许用户构造该类型的数组,并添加/删除元素.
我不知道的是我如何使用这些信息(我知道数据的类型是类型t.)我如何构造一个数组t [],这样当它被赋予调用时,它可以转换为该数组类型.
例如,现在如果我有一个需要一个整数数组作为参数的函数,我当前正在传递一个对象[],其中包含另一个用整数填充的对象[],但你不能只是转换对象[]到int []所以调用失败.
我不能写一个switch case,因为它不可能预测它可能是所有可能的类型(例如,在加载的dll中定义的其他类的实例)
Jon*_*eet 14
你在找Array.CreateInstance?如果您只是动态地知道类型,这很有用.如果您静态地知道它,但在通用方法中,您可以使用new T[10]或任何类型参数名称.