这是一个非常奇怪的问题。
我有ProfileBase类并从中创建了一个列表
List<ProfileBase> profileLists = ....
在我从另一个列表名称向此列表添加项目之后,QuickSearchProfile也是从ProfileBase派生的。
var _list = new List<ProfileBase>();
_list.AddRange((IEnumerable<QuickSearchProfile>)list);
但我不能像那样
var item = (profileLists[indexPath.Row] as QuickSearchProfile);
或者像那样
var item = (QuickSearchProfile)profileLists[indexPath.Row];
在这两种情况下,item返回null。实际上当我放置一个断点时,我可以看到profileLists [indexPath.Row]的类型是QuickSearchProfile
我的错误在哪里?
答案 0 :(得分:1)
保存项目未获取并获取其完整类型名称并输出它,然后获取typeof(QuickSearchProfile)并执行相同操作。 CLR说他们不一样 - 我相信它