动态获取类中组件中属性的值



我有以下类

public class Statement
{
    public string Prop1 { get; set; }
    public string Prop2 { get; set; }
    public string Prop3 { get; set; }
    public Narrative Narrative { get; set; }
}
public class Narrative
{
    public string Narrative1 { get; set; }
    public string Narrative2 { get; set; }
    public string Narrative3 { get; set; }
}

我想动态地获得narative1属性。谁能帮我实现这个目标?

我知道如何在类中使用反射获得属性名称的值。这里是相同的代码。

public static object ReflectPropertyValue(object source, string property)
{
    return source.GetType().GetProperty(property).GetValue(source,null);
}

谁能帮助如何获得一个属性内的另一个属性的值?

谢谢

假设你有一个Statement对象,你可以在你的方法中使用属性Narrative属性作为source。示例:

var statement = new Statement();
// fill properties... change object's state
// get the reference of narrative object
object narrative = ReflectPropertyValue(statement, "Narrative");
// get the value and safe cast it to string
var narrative1Value = ReflectPropertyValue(narrative, "Narrative1") as string;

相关内容

  • 没有找到相关文章

最新更新