有人可以解釋爲什麼會發生這種情況嗎?下面的代碼在vs2008的即時窗口中執行。 prop是由實體框架創建的對象上的Int32屬性(id列)。使用反射比較屬性值的奇怪結果
對象實體和defaultEntity是使用Activator.CreateInstance()創建的;
Convert.ChangeType(prop.GetValue(實體,空),prop.PropertyType) Convert.ChangeType(prop.GetValue(defaultEntity,空),prop.PropertyType) Convert.ChangeType(道具。 GetValue(entity,null),prop.PropertyType)== Convert.ChangeType(prop.GetValue(defaultEntity,null),prop.PropertyType) false
是的,我最終搞清楚了這一點在同事的幫助下。 .Equals讓我得到我想要的。 有沒有一種方法來檢查,如果該對象是一個字符串或整數沒有明確檢查每個條件? – Brian 2009-09-17 12:44:36
你是什麼意思「檢查每個條件」?你可以使用「is」或者調用GetType()。 – 2009-09-17 13:57:00