var _pool = new Dictionary<Type, Dictionary<EntityIdType, Object>>();
public IEnumerable<EntityType> GetItems<EntityType>()
{
Type myType = typeof(EntityType);
if (!_pool.ContainsKey(myType))
return new EntityType[0];
//does not work, always returns null
// return _pool[myType].Values; as IEnumerable<EntityType>;
//hack: cannot cast Values to IEnumarable directly
List<EntityType> foundItems = new List<EntityType>();
foreach (EntityType entity in _pool[myType].Values)
{
foundItems.Add(entity);
}
return foundItems as IEnumerable<EntityType>;
}
2
A
答えて
7
これを試してみてください:
return _pool[myType].Values.Cast<EntityType>();
これは、列挙内のすべての要素をキャストする効果があります。
1
_poolは、そのためタイプDictionary<Type, Dictionary<EntityIdType, Object>>
のものとして定義されているタイプは、あなたがIEnumerble<EntityType>
に直接キャストすることはできませんICollection<Object>
を返すために、ディクショナリへの呼び出しが返されました。むしろ
、この質問の他の回答で示されているようにあなたは、キャストの拡張メソッドを使用する必要があります。
Cannot cast Dictionary ValueCollection to IEnumarable<T>. What am I missing?
関連する問題
- 1. RegExは変です。私は何が欠けていますか?
- 2. image_dim_ordering - 私はここで何が欠けていますか?
- 3. Clojure:私はコンプに何が欠けていますか?
- 4. 私には何が欠けていますか?
- 5. 私のAJAXコードには何が欠けていますか?
- 6. 私の一意性検証が実行されていません。私は何が欠けていますか?
- 7. ここで私は何が欠けていますか? (.NET、カミソリ、MVC)
- 8. 私は何が欠けていますか?私のフォームタイムアウトはセッションをタイムアウトしません
- 9. Unquote:私は何が欠けていますか?
- 10. リバースプロキシの基本?私は何が欠けていますか?
- 11. C++多型:私は何が欠けていますか?
- 12. ES2015約束 - 私は何が欠けていますか?
- 13. WHERE節のCASE文私は何が欠けていますか?
- 14. PHPの戻り値...私は何が欠けていますか?
- 15. コーディング:CountDistinctSlices。私は何が欠けていますか?
- 16. 私の機能は起動しません。私は何が欠けていますか?
- 17. Django ajax-selectパッケージが動作していません。私は何が欠けているのですか?
- 18. 私は何が欠けていますか? RestSharpはJsonを逆シリアル化しません
- 19. Paperclipは指定したサムネイルを作成しません。私は何が欠けていますか?
- 20. CSS:取得できません:ホバーを動作させる、何が欠けていますか?
- 21. GPSの位置情報の更新がありません。私は何が欠けていますか?
- 22. ClickOnce、Webからインストールします。私は何が欠けていますか?
- 23. Facebookタブのアプリページが空です!私は何が欠けていますか?
- 24. 私は何年も "クラス"なしでPHPを書いています...何が欠けていますか?
- 25. カスタムFormBuilderスーパークラスはSafeBufferです。私は何が欠けていますか?
- 26. Web APIがSystem.Web.HttpのシンボルHttpを解決できません。何が欠けていますか?
- 27. このクエリを書くことができますか?私は何が欠けていますか?
- 28. 私はここで何が欠けていますか?ダイアログボックスでループする
- 29. Javascript invalid function?私は何が欠けているのですか?
- 30. ブートストラップレスポンスタブをドロップダウンし、私のコードには何が欠けていますか?