C# 无法取消装箱为';System.Collections.Generic.KeyValuePair<;TKey,TValue>';
我有网格视图,可以选择其中一个项目。此属性C# 无法取消装箱为';System.Collections.Generic.KeyValuePair<;TKey,TValue>';,c#,C#,我有网格视图,可以选择其中一个项目。此属性SelectedItem属于object类型。但是,它是KeyValuePair,其中MyObject2可能为null,并且通常为null。当我想使用此选定对象并尝试将该对象强制转换为KeyValuePair并且MyObject2为null时,我会得到InvalidCastException a {[StrangerParty.DataAccess.Models.Actor,]} (KeyValuePair<Actor, Role>)a Ca
SelectedItem
属于object类型。但是,它是KeyValuePair
,其中MyObject2
可能为null,并且通常为null
。当我想使用此选定对象并尝试将该对象强制转换为KeyValuePair
并且MyObject2
为null
时,我会得到InvalidCastException
a
{[StrangerParty.DataAccess.Models.Actor,]}
(KeyValuePair<Actor, Role>)a
Cannot unbox 'a' as a 'System.Collections.Generic.KeyValuePair<StrangerParty.DataAccess.Models.Actor,StrangerParty.DataAccess.Models.Role>'
a
{[StrangerParty.DataAccess.Models.Actor,]}
(键值对)a
无法将“a”取消装箱为“System.Collections.Generic.KeyValuePair”
因此,有可能将这个对象{[MyObject1,]}
强制转换为KeyValuePair
,或者我做错了什么?a?.GetType().ToString()给出了什么?不幸的是,错误消息没有帮助。您必须键入a.GetType().ToString()
,并在此处报告您得到的结果!目前,我看到一个大括号{
,后面是一个方括号[
,但它不能确切地告诉我你有什么。它可能是另一个对象(在{
..}
中的键值对。