Class foo
{
public string name;
public int age;
public datetime BirthDate;
}
Run Code Online (Sandbox Code Playgroud)
我有上面的课.
我想要foo类的变量列表.
我试过了
foo fooObj= new foo();
fooObj.GetType().GetProperties()
Run Code Online (Sandbox Code Playgroud)
这给了我0个属性.
显然这不会起作用,因为类foo中没有属性.
D S*_*ley 10
你的班级有字段,而不是属性.属性具有getter和setter方法,而字段只存储数据.
尝试
typeof(foo).GetFields()
Run Code Online (Sandbox Code Playgroud)
或将您的字段更改为属性:
Class foo
{
public string name {get; set;}
public int age {get; set;}
public datetime BirthDate {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
或者,要获取字段和属性,请使用:
typeof(foo).GetMembers()
.Where(mi => mi.MemberType == MemberTypes.Field ||
mi.MemberType == MemberTypes.Property);
Run Code Online (Sandbox Code Playgroud)