C# .NET反射和数组

C# .NET反射和数组,c#,.net,arrays,reflection,C#,.net,Arrays,Reflection,我试图通过反射得到一个一维数组的属性值 我试过这样的方法:(为了清晰起见,试着去掉钩子) 很明显,最后一行是错误的,它试图获取一个非数组对象,我假设 快速谷歌,我会在我的方式,但我无法找到它。我不知道运行时数组的长度 任何提示、链接或帮助都将不胜感激。您需要将该类型的实例传递到GetValue中。如果是静态属性,则传递null。当前您正在传递类型。我希望(大致)看到: 请注意,如果您不确定数组的类型,可以使用array(而不是string[]),或者对于一维数组IList可能很有用(并将处理数组

我试图通过反射得到一个一维数组的属性值

我试过这样的方法:(为了清晰起见,试着去掉钩子)

很明显,最后一行是错误的,它试图获取一个非数组对象,我假设 快速谷歌,我会在我的方式,但我无法找到它。我不知道运行时数组的长度

任何提示、链接或帮助都将不胜感激。

您需要将该类型的实例传递到
GetValue
中。如果是静态属性,则传递
null
。当前您正在传递类型。我希望(大致)看到:

请注意,如果您不确定数组的类型,可以使用
array
(而不是
string[]
),或者对于一维数组
IList
可能很有用(并将处理数组、列表等):


就这样,谢谢!我崇拜你的大方向!
string[] fieldOrder;
PropertyInfo fieldOrderColumn;

fieldOrderColumn = targetType.GetProperty("OrderArray");

if (fieldOrderColumn == null)
    throw new Exception(targetType.Name + " the OrderArray is null ");

fieldOrder = (string[])fieldOrderColumn.GetValue(targetType, null);  //what should I use insted of this?
Type targetType = obj.GetType();
...[snip]
fieldOrder = (string[])fieldOrderColumn.GetValue(obj, null);
IList list = (IList)fieldOrderColumn.GetValue(obj, null);