C# 反射代码不工作;

标签 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)属性,它定义了一个私有(private) 字段。如果您请求非公共(public)字段,您将获得该属性的支持字段。

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

关于C# 反射代码不工作;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16848950/

相关文章:

c# - 在 Mac OS X 上学习 ASP.NET MVC

C# 反射 - 获取未知字段的值

c# - 有没有一种类型化的方法来在 C# 中声明方法名称

c# - 如何确定 System.Type 是自定义类型还是框架类型?

java - db4o 如何实例化对象?

c# - 是否可以在同一 Controller 中使用属性路由和基于约定的路由?

c# - .NET Core - 如何使用命名曲线验证 ECDSA 签名

java - C# 相当于 Java 类级别字段

c# - 位置 C# 位置文本

java - getDeclaredMethods() + 创建数组 = 额外方法?