看似简单的概念,但无法超越。
我有一个命令... _Executed方法收到一个KeyValuePair(类型无关紧要)作为它的参数。
myCommand_Executed(object sender, ExecutedRoutedEventArgs e)
{
KeyValuePair<System.Type, MyCustomArgs> kvp = e.Parameter as KeyValuePair<Type, MyCustomArgs>;
:
:
:
}
不能这样做,因为它不能为空。我该如何完成?我想从e.Parameter中提取KeyValuePair。
感谢任何见识,并会在必要时愉快地发布更多代码/信息。
最佳答案
您必须使用显式强制转换,而不是隐式强制转换。
隐式转换:
KeyValuePair<System.Type, MyCustomArgs> kvp = e.Parameter as KeyValuePair<Type, MyCustomArgs>;
显式转换:
KeyValuePair<System.Type, MyCustomArgs> kvp = (KeyValuePair<System.Type, MyCustomArgs>)e.Parameter;
关于c# - 如何将作为参数传递的KeyValuePair强制转换为Command_Executed?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12487276/