2017-01-05 15 views
-2

これは実行できません。私は、オブジェクトのプロパティを反復するためにリフレクションを使用しています。これらのオブジェクトのプロパティの1つは、事前にTタイプを知らないDictionaryでもかまいません。不明なタイプの辞書にオブジェクトをキャストする方法

Dictionary<T, T2> 

これをすべて反復処理してすべての値を取得できるようにする必要があります。このようなものですが、これは機能しません。

var listTypeItems = (IDictionary>)containingObject; 
+0

どのようなエラーが表示されますか?これは実際に動作するはずです。以下の関連する質問/回答を参照してください:http://stackoverflow.com/questions/10206557/c-sharp-cast-dictarystring-anytype-to-dictarystring-object-involvin –

+0

Doh!私はかっこの中に>を見ませんでした。コンパイルエラーとして表示されていました。私はこの週が終わるためにとても準備ができています。 :) –

+0

まあ、少なくともそこにいる! :-) –

答えて

0

私のコードに構文エラーがありました。 >上の括弧の中に。私の悪い。

1

Dictionary<TKey,TValue>あなたは非静的型付けの方法で値を取得することを可能にする、IDictionaryを実装しています。

+0

うーん、私はこれが彼をどのように助けてくれるのか分かりません。彼を助けた。彼の元々のコードはあなたの提案された解決策と全く違っていました! –

+0

@PeterBranforn彼はコンパイルしようとしていない非ジェネリックインターフェイスではなく、ジェネリックインターフェイスにキャストしようとしていました。彼が非ジェネリックインターフェイスを使用することを提案すると、コードをコンパイルすることになります。 – Servy

+0

「>」を参照すると、これはちょうど誤植でした... –

0

IDictionaryにキャストしてください。 KeyValueの両方を含むDictionaryEntryを繰り返し処理できます。

関連する問題