我写代码,一个对象转换到另一个使用反射...可空属性复制到一个非空的版本使用反射
这是在进步,但我认为这将归结到我们相信以下这两个属性具有相同的类型:
private void CopyPropertyValue(object source, string sourcePropertyName, object target, string targetPropertyName)
{
PropertyInfo sourceProperty = source.GetType().GetProperty(sourcePropertyName);
PropertyInfo targetProperty = target.GetType().GetProperty(targetPropertyName);
targetProperty.SetValue(target, sourceProperty.GetValue(source));
}
然而我有更多的问题,源类型可能是可空,目标类型没有。例如Nullable<int>
=>int
。在这种情况下,我需要确保它仍然有效,并执行了一些合理的行为,例如NOP或设置该类型的默认值。
可能这是什么样的?
也许我只是疯狂,但知道它似乎是它可以以更好的方式来解决表达式树的根本问题 –
我不明白,请随时提供一个答案! –
好,我的意思是,你能解释一下你想要什么解决的,你没怎么想解决什么是我们未知的...... –