2

一見シンプルなコンセプトですが、これを乗り越えることはできません。

コマンドがあります..._Executedメソッドは、パラメーターとしてKeyValuePair(タイプは関係ありません)を受け取ります。

myCommand_Executed(object sender, ExecutedRoutedEventArgs e)
    {
        KeyValuePair<System.Type, MyCustomArgs> kvp = e.Parameter as KeyValuePair<Type, MyCustomArgs>;
:
:
:
}

null許容型ではないため、これを行うことはできません。どうすればこれを達成できますか?e.ParameterからKeyValuePairを抽出したい。

洞察に感謝し、必要に応じてより多くのコード/情報を喜んで投稿します。

4

1 に答える 1

9

これまでのように、暗黙的なキャストではなく、明示的なキャストを使用する必要があります。
暗黙のキャスト:

KeyValuePair<System.Type, MyCustomArgs> kvp = e.Parameter as KeyValuePair<Type, MyCustomArgs>; 

明示的なキャスト:

KeyValuePair<System.Type, MyCustomArgs> kvp = (KeyValuePair<System.Type, MyCustomArgs>)e.Parameter; 
于 2012-09-19T02:31:57.377 に答える