所以,我無法鑄造System.Nullables像int ?.如何通過System.Nullable獲取默認類型按類名只是按名稱?
經過一些研究,我修改了我的代碼,但我沒有任何想法如何通過名稱來獲取類型。
for (int i = 0; i < m_textEdits.Count; i++)
{
string fieldName = m_textEdits[i].Name.Substring(m_textEdits[i].Name.LastIndexOf("_") + 1);
System.Reflection.PropertyInfo propInfo = m_aktuelleZeille.GetType().GetProperty(fieldName);
if (propInfo != null)
{
if (propInfo.GetMethod.ToString().Contains("Null"))
{
propInfo.SetValue(m_aktuelleZeille, m_textEdits[i].EditValue ?? default(IDK WHAT TO PUT IN HERE));
}
else if (propInfo.SetMethod != null) propInfo.SetValue(m_aktuelleZeille, m_textEdits[i].EditValue);
}
}
m_texedits是Textedits的列表,文本編輯被稱爲例如「tb_Menge」所以在字段名代表「門奇」和m_aktuelleZeille是我的類,它包含的例子:
private int? menge;
public int? Menge
{
get { return menge; }
set
{
if (value != menge)
{
menge = value;
OnPropertyChanged("Menge");
}
}
}
的否則,如果是工作正常,只是如果我得到可以爲空的類型(那爲什麼我實施如果)
propInfo.Generic ...不工作,我想動態地將屬性「Menge」中的m_textedits [i] .editvalue值轉換爲我的類m_aktuelleZeille作爲示例。問題是它通常與其他工作,如果在我的代碼,但如果我有我的類中的屬性像int ?,它說我無法將System.Decimal(Texedit設置爲數字)System.NullableInt32 – FeuFeuAngel
對不起,我是努力去理解你想要做的事情。你能否更新這個問題使其更清楚? – Fermin