这使我发疯。也许我错过了一些明显的东西?fieldInfo.SetValue抛出ArgumentException“对象类型不能转换为目标类型”
fieldInfo.FieldType是正确的(DateTime),我正在应用的值也是DateTime。
for(int i=0; i<objectArray.Length; i++)
{
FieldInfo destinationField = GetFieldInfo(i);
object destinationValue = objectArray[i];
destinationField.SetValue(this, destinationValue);
}
编辑:即使我设置destinationValue的字面日期时间(DateTime.Now),我仍然得到例外!
你可以发布一些有问题的代码吗? – Kane 2009-06-05 13:27:12
您的代码无法编译,因为GetFieldInfo([i])不是有效的C#。你可以显示真实的代码,也可以在SetValue()调用之前添加以下行:Console.WriteLine(destinationField.FieldType +“,”+ destinationValue.GetType()) – 2009-06-05 13:36:34
@activa ..感谢您的回应。我认为最好发布一个简化版本。您的Console.WriteLine将返回System.DateTime,对象 – 2009-06-05 13:40:58