首页 > 解决方案 > 对象与目标类型不匹配 PropertyInfo.GetValue()

问题描述

我对 .net 相当陌生,很想在反思方面获得一些帮助。我到处搜索,我似乎无法做到这一点。

我有一个函数,它接受我的自定义类的通用列表,我正在迭代提取类的属性并创建一个电子表格。我的问题是当我尝试获取属性的值时,我得到一个异常说'对象与目标值不匹配'。

我知道这可能是重复的,但我找不到任何东西,我们将不胜感激。

private static Task<SheetData> GenerateSheetDataPart<T>(List<T> data){
//some speadsheet logic

foreach (var dataModel in data){
    //some more spreadsheet logic
    Type type = dataModel.GetType();
    PropertyInfo[] props = type.GetProperties();
    foreach (var prop in props){
        cell.DataType = await ResolveCellDataTypeOnValue((string)prop.GetValue(prop)); //exception here. function returns Number or String based what value is.
        cell.CellValue = new CellValue((string)prop.GetValue(prop);
    }
}
}

标签: c#.netreflectionsystem.reflection

解决方案


推荐阅读