GetField返回null

Lui*_*uis 4 .net c#

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

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

在此输入图像描述

And*_*yev 5

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

BindingFlags.NonPublic应该用于获取非公共字段。

请参阅MSDN以供参考。


小智 5

您需要使用 BindingFlags

GetField("FieldName", BindingFlags.Instance | BindingFlags.Public);
Run Code Online (Sandbox Code Playgroud)


Cha*_*ger 5

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

xFieldInfo.GetValue(x)返回一个盒装整数2.GetType()然后回来typeof(int)

那么你想获得FieldInfo的字段ssIdint.那不存在.

看起来你打算这样:

FieldInfo xSortField = x.GetType().GetField(this.prefixedSortBy[i])
Run Code Online (Sandbox Code Playgroud)