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
Antwort
7
Versuchen Sie folgendes:
return _pool[myType].Values.Cast<EntityType>();
Dies hat den Effekt, jedes Element in der Aufzählung zu werfen.
1
_pool als von Dictionary<Type, Dictionary<EntityIdType, Object>>
Typ definiert ist
Aus diesem Grund, wird der Anruf in das Wörterbuch für einen Typ zurück kehrt ein ICollection<Object>
, die Sie nicht direkt an IEnumerble<EntityType>
werfen können.
Vielmehr haben Sie die Cast-Erweiterung Methode zu verwenden, wie in der anderen Antwort auf diese Frage angegeben:
Cannot cast Dictionary ValueCollection to IEnumarable<T>. What am I missing?
Verwandte Themen
- 1. org.springframework.security.core.userdetails.User kann nicht in "MyUserDetails" umgewandelt werden
- 2. ImageView kann nicht in PhotoView umgewandelt werden
- 3. "Fehler: erwarteter primärer Ausdruck vor '<' Token." Was vermisse ich?
- 4. Java Beans: Was vermisse ich?
- 5. SpringServletContainerInitializer kann nicht in javax.servlet.ServletContainerInitializer umgewandelt werden
- 6. org.apache.xml.serializer.ToXMLSAXHandler kann nicht in org.apache.xml.serializer.SerializationHandler umgewandelt werden
- 7. ES2015 verspricht - was vermisse ich?
- 8. Wie benutze ich CMake Generator Ausdruck $ <TARGET_FILE: tgt>?
- 9. contextthemewrapper kann nicht in Aktivität umgewandelt werden
- 10. EmptyList kann nicht in clojure.lang.IFn umgewandelt werden
- 11. Integer kann nicht in Float umgewandelt werden
- 12. GStringImpl kann nicht in java.lang.String umgewandelt werden
- 13. ByteBufferAsShortBuffer kann nicht in java.nio.FloatBuffer umgewandelt werden
- 14. java.lang.Thread kann nicht in java.util.concurrent.ForkJoinWorkerThread umgewandelt werden
- 15. weblogic.net.http.SOAPHttpsURLConnection kann nicht in javax.net.ssl.HttpsURLConnection umgewandelt werden
- 16. java.lang.Class kann nicht in java.lang.reflect.ParameterizedType umgewandelt werden
- 17. kann nicht in android.widget umgewandelt werden. RelativeLayout
- 18. android.widget.Button kann nicht in android.widget.EditText umgewandelt werden
- 19. BigDecimal kann nicht in BigDecimal umgewandelt werden
- 20. Typeerror: Wert kann nicht in einem Wörterbuch umgewandelt werden
- 21. XSLT-Browser-Transformation; Was vermisse ich?
- 22. "for loop" für ValueCollection
- 23. Mischbarkeit mit d: DataContext. Was vermisse ich?
- 24. AppDomain.CreateInstanceFromAndUnwrap - Transparenter Proxy kann nicht umgewandelt werden
- 25. java.lang.ClassCastException: org.hibernate.impl.CriteriaImpl kann nicht umgewandelt werden
- 26. Android SQLite Update-Abfrage - Was ich vermisse
- 27. Android.support.v7.widget.TintContextWrapper kann nicht umgewandelt werden
- 28. java.lang.ClassCastException: java.lang.Integer kann nicht umgewandelt werden
- 29. Was vermisse ich auf diesem Javascript-Darlehensrechner?
- 30. Was vermisse ich? RestSharp deserialize JSON