一些代碼:如何獲取對象屬性的默認值?
foreach (System.Reflection.PropertyInfo pi in myObject.GetType().GetProperties())
{
if (pi.CanWrite)
{
object value = pi.GetValue(Properties, null);
// if (value is not default)
// {
X.addAttribute(pi.Name, value);
// }
}
}
我試圖做的是拒收行「X.addAttribute ......」如果房產是在其默認值。我假設有一些方法可以獲得屬性的DefaultValue,所以我可以做一個比較?
爲了我的目的,我試圖獲得由DefaultValueAttribute定義的'default'值。
任何幫助表示讚賞,歡呼聲。
答案將取決於您如何定義「默認值」。兩個明顯的定義是CLR默認值(對於引用類型爲「null」,對於值類型爲0)或「DefaultValueAttribute」。你能編輯你的問題來澄清你感興趣嗎? –
嗨,道歉;我應該指定。它是通過DefaultValueAttribute定義的默認值。 – Wex