我试图理解反射。我正在尝试使用反射来获取对象的属性。我第一次使用
var propertiesForManuallyCreated = typeof(T).GetProperties();
但后来意识到它没有获得基本属性。我试过了
var propertiesForManuallyCreatedBase = typeof(T).BaseType.GetProperties();
但这并没有让我获得基本属性。如何获得基本属性?下面是我说基地时所说的图像。
我试图理解反射。我正在尝试使用反射来获取对象的属性。我第一次使用
var propertiesForManuallyCreated = typeof(T).GetProperties();
但后来意识到它没有获得基本属性。我试过了
var propertiesForManuallyCreatedBase = typeof(T).BaseType.GetProperties();
但这并没有让我获得基本属性。如何获得基本属性?下面是我说基地时所说的图像。
您需要使用Type.GetProperties(BindingFlags)
值为 的重载BindingFlags.FlattenHierarchy
作为参数。
var propertiesForManuallyCreated =
typeof(T).GetProperties(BindingFlags.FlattenHierarchy);
根据 MSDN:
扁平化层次结构
指定应返回层次结构上的公共和受保护静态成员。不返回继承类中的私有静态成员。静态成员包括字段、方法、事件和属性。不返回嵌套类型。