【发布时间】:2017-12-24 08:22:06
【问题描述】:
所以,我在转换 System.Nullables 时遇到了麻烦,比如 from int?。
经过一些研究,我修改了我的代码,但我不知道如何从我的类中仅通过 Name 来获取类型。
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 列表,Textedit 被称为例如“tb_Menge”,因此在字段名中代表“Menge”,m_aktuelleZeille 是我的类,其中包含示例:
private int? menge;
public int? Menge
{
get { return menge; }
set
{
if (value != menge)
{
menge = value;
OnPropertyChanged("Menge");
}
}
}
else if 工作正常,只要我得到可为空的类型(这就是我实现 if 的原因)
【问题讨论】: