所以,我无法铸造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