Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#反射代码不工作;_C#_Reflection - Fatal编程技术网

C#反射代码不工作;

C#反射代码不工作;,c#,reflection,C#,Reflection,我有一个非常简单的测试,因为完整版本也不起作用 public class dfd { public string g { get; set; } } 然后, Type myType = typeof(dfd); FieldInfo[] b = myType.GetFields(BindingFlags.Public); 当我看b时,没有字段信息 {System.Reflection.FieldInfo[0]} 有什么想法吗?您有一个自动的公共属性,它

我有一个非常简单的测试,因为完整版本也不起作用

public class dfd
{
    public string g { get; set; }
}
然后,

        Type myType = typeof(dfd);
        FieldInfo[] b = myType.GetFields(BindingFlags.Public);
当我看b时,没有字段信息

{System.Reflection.FieldInfo[0]}

有什么想法吗?

您有一个自动的公共属性,它定义了一个私有字段。如果您请求非公共字段,您将获得该属性的支持字段


顺便说一句,您需要同时请求
BindingFlags.NonPublic | BindingFlags.Instance
,否则您将无法检索该字段。

您有一个自动公共属性,它定义了一个私有字段。如果您请求非公共字段,您将获得该属性的支持字段


顺便说一句,您需要同时请求
BindingFlags.NonPublic | BindingFlags.Instance
,否则您将无法检索该字段。

是的,我刚刚意识到,当您键入时,我想。:)改为使用PropertyInfo。似乎更有意义。是的,我刚意识到,当你打字时,我想。:)改为使用PropertyInfo。似乎更有意义。