在这个答案之后,我正在尝试复制它并迭代我的CustomerModel属性.
CustomerModel pippo = new CustomerModel();
Type customer = pippo.GetType();
FieldInfo[] fields = customer.GetFields(BindingFlags.Public | BindingFlags.Instance);
Run Code Online (Sandbox Code Playgroud)
使用调试器时,fields总是有一个count = 0但是CustomerModel有许多我希望在字段中看到的公共属性.我怎样才能做到这一点?这是我想要看到的一些属性的摘录.
[DataMember]
public String Id { get; set; }
[DataMember]
public String LoginName { get; set; }
[DataMember]
public String Password { get; set; }
[DataMember]
public String CreationDate { get; set; }
Run Code Online (Sandbox Code Playgroud)
也许绑定标志不正确?我是新手使用反射.
这些是属性,而不是字段.用GetProperties而不是GetFields.
在C#中:
public class Foo {
// this is a field:
private string _name;
// this is a property:
public string Name { get; set; }
// this is also a property:
public string SomethingElse { get { return _name; } set { _name = value; } }
}
Run Code Online (Sandbox Code Playgroud)