c# - 如何获取类的属性列表?

标签 c# .net reflection properties

如何获取一个类的所有属性的列表?

最佳答案

反射(reflection);例如:

obj.GetType().GetProperties();

对于类型:

typeof(Foo).GetProperties();

例如:

class Foo {
    public int A {get;set;}
    public string B {get;set;}
}
...
Foo foo = new Foo {A = 1, B = "abc"};
foreach(var prop in foo.GetType().GetProperties()) {
    Console.WriteLine("{0}={1}", prop.Name, prop.GetValue(foo, null));
}

跟随反馈...

  • 要获取静态属性的值,请传递 null作为 GetValue 的第一个参数
  • 要查看非公共(public)属性,请使用(例如)GetProperties(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance) (返回所有公共(public)/私有(private)实例属性)。

关于c# - 如何获取类的属性列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/737151/

相关文章:

c# - 在 type.GetProperties() 时过滤掉 protected setter

C#如何识别guest帐号?

c# - 更改 asp.net mvc 模型属性时无法访问数据库

javascript - 正则表达式在多行上进行多个匹配

c# - 是否有更简单的语法来访问程序集中嵌入的资源?

c# - 仅允许 RadGridView 中特定列中的特定字母

java - 使用反射获取Java中泛型参数的类型

java - 获取包中具有特定注释的所有方法

c# - 为什么我的继承类没有隐藏我的基类方法?

c# - 如何将 Font 保留在继承的 TextBox 中?