我正在尝试读取给定对象的所有属性,只读取在对象类型上声明的属性,不包括继承的属性。 IE:

class Parent {
   public string A { get; set; }
}

class Child : Parent {
   public string B { get; set; }
}

所以我只想让B回来。阅读文档时,我认为下面是我所需要的,但是实际上什么也没返回。
var names = InstanceOfChild.GetType().GetProperties(BindingFlags.DeclaredOnly).Select(pi => pi.Name).ToList();

最佳答案

只需要其他几个BindingFlags

var names = InstanceOfChild.GetType().GetProperties(BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.Instance).Select(pi => pi.Name).ToList();

关于c# - 获取非继承属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5981417/

10-10 22:26