我有一个抽象类——让我们称之为
我想使用反射访问来自类
当然,以下代码是不可能的,因为我无法创建一个抽象类的实例。
以下代码是可行的,但我获取了所有属性,包括在
如何通过反射获取类“Base”的所有属性?
Base
。这个类包含一些属性。此外,我还有另一个继承自类Base
的类——让我们称之为Child
。 Child
不是抽象的。我想使用反射访问来自类
Base
的属性,并且仅限于在Base
中声明的那些属性。当然,以下代码是不可能的,因为我无法创建一个抽象类的实例。
Base base = new Base();
Type type = base.GetType();
PropertyInfo[] propInfos =
type.GetProperties(
BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly
);
以下代码是可行的,但我获取了所有属性,包括在
Base
和Child
中定义的属性。Child child = new Child();
Type type = child.GetType();
PropertyInfo[] propInfos =
type.GetProperties(BindingFlags.Instance | BindingFlags.Public);
如何通过反射获取类“Base”的所有属性?
PropertyInfo
- 然后一旦你实际拥有一个从A
继承的 具体 类型的对象,你就可以调用propInfo.SetValue
并传入你拥有的具体对象。 - AakashM