我有这个非常简单的测试,因为完整版本也不起作用;
public class dfd
{
public string g { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后;
Type myType = typeof(dfd);
FieldInfo[] b = myType.GetFields(BindingFlags.Public);
Run Code Online (Sandbox Code Playgroud)
当我看到b时,没有字段信息.
{System.Reflection.FieldInfo[0]}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
您有一个自动公共属性,它定义了一个私有字段.如果您要求非公共字段,您将获得该属性的支持字段.
顺便说一句,你需要要求两者BindingFlags.NonPublic | BindingFlags.Instance,否则你将无法检索该字段.