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
cevap
7
bu deneyin:
return _pool[myType].Values.Cast<EntityType>();
Bu numaralandırma her eleman döküm etkisine sahiptir.
1
_pool nedenle
tip Dictionary<Type, Dictionary<EntityIdType, Object>>
olmanın olarak tanımlanmaktadır, sözlüğe çağrısı bir türü için döndürülen Eğer IEnumerble<EntityType>
doğrudan döküm olamaz bir ICollection<Object>
döndürür. Bu soru için diğer yanıtında belirtildiği gibi
yerine, Cast uzantısı yöntemi kullanmak zorunda:
Cannot cast Dictionary ValueCollection to IEnumarable<T>. What am I missing?
İlgili konular
- 1. MVC komut dizisinde CDN'yi kullanma. Neyi kaçırıyorum?
- 2. Sadece .NET 2.0 vs 3.5 çalıştırarak neyi kaçırıyorum?
- 3. EXIF Dictionary EXP Dictionary
- 4. Dictionary <dynamic, dynamic> to Dictionary <string, string> Colllection.ToDictionary()
- 5. Doğrulama tetikleniyor, ancak hata durumunda mesaj gösterilmiyor. Neyi kaçırıyorum? MVC 5 Razor
- 6. openshift yoluyla email gönderemezsiniz
- 7. Serialize Dictionary <,> Json.NET'te dizi olarak
- 8. Eşleme Dictionary</p> <p>Örnek
- 9. ## operatörü ile neyi özlüyorum
- 10. "a/b/c" öğesini "a/b/c", "a/b", "a" olarak dönüştürmenin en kolay yolu
- 11. TypeError: Builder :: XmlMarkup öğesini Array 'a dönüştüremiyor
- 12. Python nasıl</p> <pre><code>['a 1 a', 'a 2 a', 'a 3 a', 'a 4 a'] </code></pre> <p>teşekkür ederiz yazdırmak için ben alırım bütün desenleri
- 13. C# Dictionary kullanarak bir C# Dictionary işleniyor LINQ
- 14. <a> etiketi
- 15. Liste <T> veya Dictionary <T,T2>, C# WinRT bileşeninde nasıl kullanılır
- 16. Dictionary API (lexical)
- 17. DataContract serializer kullanarak Dictionary <string, object> serileştirebilir miyim?
- 18. DictionaryBase ve Dictionary Arasındaki Fark <Tkey,Tvalue>
- 19. DataContractSerializer ve Dictionary <string, object> okurken başarısız oluyor
- 20. ProtoBuf-net dosyasındaki bir Dictionary <string, object> serileştirmesi
- 21. jQuery clone() FireFox bug - klonlanmış form gönderemezsiniz
- 22. Ubuntu sunucusuna bir şey gönderemezsiniz/dağıtamazsınız
- 23. E-posta doğrulama ile kayıt formu gönderemezsiniz
- 24. jQuery Toggle - Neyi yanlış yapıyorum?
- 25. - değil <a href>
- 26. <a href.. in PHP
- 27. Tensorflow Dictionary with String tensör
- 28. Neyi bilmek için kod?
- 29. C# kelimesinde Dictionary <> neden STL'de <T,U> harita gibi çalışmıyor?
- 30. Neden bir sözlük oluşturamıyorum <string, dictionary <string, string >>?