我有一个抽象类 - 让我们将其命名为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
类的所有属性?
有进一步的问题:“propInfo.SetValue(???,值null)”因为我只有类型,没有对象,我该如何设置/获取值? – Em1
@ Em1我不确定我关注。如果没有任何对象,你在设置属性或从中检索属性值? – AakashM
我只想知道:如果我有一个抽象类的属性,我可以提高这个属性的setter/getter(当然,我必须确定它不会碰到抽象方法;或者这是原因为什么我不能这样) – Em1