我試圖將MembershipUserCollection轉換爲要在GridView中使用的DataSet,並且我有這個幫助器類,它將遍歷所有成員行和屬性,並獲取值和類型並將它們推送到DataRows中。PropertyInfo.GetValue(myObject,null).GetType()返回「對象引用未設置爲對象的實例」。
它在屬性值存在的情況下工作,但當存在空值時,它會中斷返回消息「未將對象引用設置爲對象實例」。
在這個特殊的例子中,如果它的值是「null」,它將在註釋字段中斷。
這裏是我的代碼,它發生:
foreach (PropertyInfo oPropertyInfo in PropertyInfos)
{
Type oType = oPropertyInfo.GetValue(oData, null).GetType(); <-- error
oDataRow[oPropertyInfo.Name.ToString()] = Convert.ChangeType(oPropertyInfo.GetValue(oData, null), oType);
}
任何幫助表示讚賞。
你爲什麼試圖改變它的類型? – 2011-04-21 19:47:49
這是我在網上得到的代碼,現在我看它,我不知道爲什麼ChangeType方法在那裏。我真的只是試圖獲取該屬性的類型並將其添加到數據行。 – Kahanu 2011-04-23 17:56:41