簡體   English   中英

您如何使用反射來獲得子屬性?

[英]How do you use reflection to get a sub property?

讓我們看看我是否可以解釋我要做什么...

假設我有一個對象,它的屬性路徑如下所示:

Appointment.Person.Name

如果我想更新“ Person”屬性,則可以執行以下操作:

PropertyInfo subPropertyInfo = apptObject.GetType().GetProperty("Person");
subPropertyInfo.SetValue(apptObject, replacementValue, null);

但是,如何更新根對象的Name屬性?

掌握Person的當前值,然后以與當前相同的方式進行更新:

PropertyInfo subPropertyInfo = apptObject.GetType().GetProperty("Person");
Object p = subPropertyInfo.GetValue(apptObject);

PropertyInfo subSubPropertyInfo = p.GetType().GetProperty("Name");
subSubPropertyInfo.SetValue(p, replacementValue, null);

怎么樣:

PropertyInfo subPropertyInfo = apptObject.Person.GetType().GetProperty("Name");
subPropertyInfo.SetValue(apptObject.Person, replacementValue, null);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM