获取类的变量列表

本文关键字:列表 变量 获取 | 更新日期: 2023-09-27 18:00:44

Class foo
{
   public string name;
   public int age;
   public datetime BirthDate;
}

我上了以上的课。

我想要foo类的变量列表。

我试过

foo fooObj= new foo();
fooObj.GetType().GetProperties()

这给我返回了0个属性。

显然,这不会起作用,因为类foo中没有属性。

获取类的变量列表

您的类具有字段,而不是属性。属性具有getter和setter方法,而字段仅存储数据。

尝试

typeof(foo).GetFields()

或将字段更改为属性:

Class foo
{
   public string name {get; set;}
   public int age {get; set;}
   public datetime BirthDate {get; set;}
}

或者,要获取字段属性,请使用:

typeof(foo).GetMembers()
           .Where(mi => mi.MemberType == MemberTypes.Field || 
                        mi.MemberType == MemberTypes.Property);

你试过这个吗:

new foo().GetType().GetFields()

它们是fields而不是propertiesGetTypeobject的一种方法。

只执行foo.GetType()将引发错误。