0

假设我有以下类模型:

Class1 -> BaseClass

或者

Class2 -> BaseClass

Class1 具有以下属性

public string Property1 { get; set; }
public int Property2 { get; set; }

Class2 具有以下属性

public double Property1 { get; set; }
public string Property2 { get; set; }
public int Property3 { get; set; }

我想在 BaseClass 中创建一个方法,该方法将为已实例化的任何子类中的所有属性创建一个哈希。如何使用反射获取子类的属性?

由于 .Net 不允许多重继承,我认为假设只有 1 个子类(或单行子类)我会很安全。

4

1 回答 1

3

听起来您只是在寻找 using GetType(),它将给出当前对象的执行时间类型:

foreach (var property in this.GetType().GetProperties())
{
    var value = property.GetValue(this, null);
    // Whatever
}

当在 的实例上调用时,Class1即使代码在.Property1Property2BaseClass

于 2013-08-15T18:00:24.480 回答