[英]dynamic type casting of objects in C#.net
我創建了一個class student
並在該班級中創建了contact
對象(匯總)。 我正在“對象”數組中檢索所有存儲的對象。
如果要訪問student
屬性,則必須使用student
類型對其進行student
;如果要訪問contact
屬性,則必須給出完整路徑( student_object.contact_object.attribute_name
),或者只需鍵入具有contact
student_object.contact_object.attribute_name
類型並獲取屬性值即可。
我停留在兩個地方:
喬恩,實際上我已經在C#.NET中創建了一個面向對象的數據庫。 上面的課程在那里 我正在檢索對象數組中的所有對象。 班級學生具有字段名稱和年齡,而聯系人具有mobileID。 現在,我通過文本框創建查詢。 如果用戶想查看所有對象的名稱,則可以保留var2名稱。 但我無法收到此消息messageBox.show(o0作為Student).var2); 如果給我var1 messageBox.show(o0 as var1).var2),而不是Student,則相同。 我可以這樣做嗎? 謝謝/巴蒂
轉換對於編譯時信息很重要。 這排除了用戶在執行時提供的任何內容。
聽起來您真的需要反思:
PropertyInfo property = value.GetType().GetProperty(propertyName);
// Insert validation here...
object propertyValue = property.GetValue(value, null);
如果希望用戶能夠評估諸如Address.ZipCode
之類的屬性的路徑 ,則需要變得更聰明,但這應該為您提供一個起點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.