6
我想記錄有關我的代碼中的一些對象和類的狀態的信息。並非所有類或庫都使用序列化來實現。所以我在Properties上使用Reflection來寫出一個狀態的XML文檔。然而,我有一個挑戰,像內置類(即字符串,日期時間,數字等)的一些對象有一個ToString函數,以有意義的方式打印出類的值。但對於其他類,調用ToString只是使用繼承的基ToString來吐出對象類型的名稱(例如字典)。在這種情況下,我想遞歸檢查該類中的屬性。有沒有辦法告訴如果一個對象已明確在C#中實現ToString
所以,如果任何人都可以幫我反思,要麼找出是否有一個ToString實現屬性我看,這不是基本的方法或指出正確的方式使用GetValue檢索集合屬性我將不勝感激。
Ĵ
使用BindingFlags.DeclaredOnly,您可以直接對其進行測試。 –
但是可能有一個覆蓋從對象以外的基類繼承。 – phoog
沒錯。而Hans Passant的建議是隻查看由對象的運行時類型聲明的覆蓋,因此不足。 – phoog