GetField返回null

时间:2015-04-23 12:51:52

标签: c# .net

我正在尝试getField,但总是返回null 这是代码的图像和变量的监视。

代码:FieldInfo xSortField = xFieldInfo.GetValue(x).GetType().GetField(this.prefixedSortBy[i]);

enter image description here

3 个答案:

答案 0 :(得分:5)

我认为你需要更仔细地观察你正在做的事情,因为它似乎没有多大意义。

Data=raw_input("Please type name of input data! ") Data2=open(Data) new_list=list() for line in Data2: line2=line.rstrip() first_empty=line2.find(" ") line3=line2[first_empty+1:] List_of_line=line3.split() express=0 for i in List_of_line: flo_i=float(i) express=float(express) if express == 0 or flo_i > express: express=flo_i express=str(express) if express == List_of_line[4]: print List_of_line 会返回一个装箱整数xFieldInfo.GetValue(x)2然后返回GetType()

然后,您尝试在typeof(int)上获取FieldInfo字段ssId。那不存在。

看起来你打算这样做:

int

答案 1 :(得分:3)

您必须指定BindingFlags.InstanceBindingFlags.Static作为第二个参数才能获得返回值。

此外,还应使用BindingFlags.NonPublic来获取非公开字段。

请参阅MSDN以供参考。

答案 2 :(得分:3)

您需要使用BindingFlags

GetField("FieldName", BindingFlags.Instance | BindingFlags.Public);