我知道在给定属性名称的情况下,您可以使用反射来获取属性值。但是,如果我有"Case.Contact.Fax"
之类的字符串,我如何解析Case
对象以获取Fax
数字。
答案 0 :(得分:0)
if (caseObj is Case)
{
var contact = caseObj.GetType().GetProperty("Contact").GetValue(caseObj, null);
var faxValue = contact.GetType().GetProperty("Fax").GetValue(contact, null);
}
或简单地说:
if (caseObj is Case)
{
var faxValue = (Case as caseObj).Contact.Fax;
}
或者如果您无法获得caseObj
类型,但您确定它始终为Case
:
var faxValue = (caseObj as dynamic).Contact.Fax;
假设树中的所有属性都不是null
。