Ich möchte gerne zwei verschiedene Model von gleichen Interface erben lassen. Nun soll eine Methode als Übergabe jeweils eine Liste oder eine Collection eines Models was dieses Interface besichtzt übergeben bekommen. Dabei bekomme ich die Fehlermeldung:
Fehlermeldung:
The type 'InheritanceTest.FooModel' cannot be used as type parameter 'T' in the generic type or method 'InheritanceTest.Service.DoSomethingWith<T>(System.Collections.Generic.IEnumerable<T>)'. There is no implicit reference conversion from 'InheritanceTest.FooModel' to 'InheritanceTest.IModel<InheritanceTest.IModelItem>'. C:\Work\InheritanceTest\InheritanceTest\Program.cs 14 13 InheritanceTest
<Link auf kompletten Quellcode entfernt>
Kann mir jemand erklären, was genau ich falsch mache? 😄
VG André
Actionscript ist die Möglichkeit, postmaterielles Basteln zum Lebensstil zu machen.
Künstliche Intelligenz ist leichter zu ertragen, als natürliche Dummheit!
Warum wurde der Link entfernt? Wer den kompletten Quellcode sehen möchte, der suche bitte auf GitHub nach "<entfernt>".
Du hattest unmittelbar nach dem Entfernen des Links eine PM mit der Bitte erhalten, keine externen Hoster zu verwenden und nur die relevanten Code-Teile direkt im Beitrag zu posten, wie das im übrigen auch in [Hinweis] Wie poste ich richtig? Punkt 4, 4.1 und 5 steht.
Generell gilt: Bitte vor Nachfragen immer erst die PMs schauen. Und sollte sich dort - nach angemessener Wartezeit - tatsächlich nichts finden, bitte per PM beim Team nachfragen. Dort lässt sich das schnell und ohne Störung der Community klären. In fachlichen Threads sind Nachfragen zu Moderationsmaßnahmen sind immer unnötig und immer unerwünscht.
Actionscript ist die Möglichkeit, postmaterielles Basteln zum Lebensstil zu machen.
Künstliche Intelligenz ist leichter zu ertragen, als natürliche Dummheit!
Vermutlich weil keiner Lust hat, sich den ganzen Code anzuschauen. Poste halt die relevanten Code-Ausschnitte.
Zudem ist die Fehlermeldung ja mehr als eindeutig.
Siehe auch Antwort in erstem Google-Treffer Why does a generic type constraint result in a no implicit reference conversion error?
ICage< IAnimal > cage = new Cage< Tiger > ( );
An ICage<IAnimal> is a cage into which you can place any animal, but a Cage<Tiger> can only hold tigers, so this must be illegal
Beachte [Hinweis] Wie poste ich richtig? 1.1
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Vielen Dank, habe die Antwort hier bekommen:
Type cannot be used as type parameter 'T' in the generic type or method - Why? [duplicate]
Habe es in das Beispiel auf GitHub mit eingebaut. Das alles hier zu posten wäre zu viel.
Actionscript ist die Möglichkeit, postmaterielles Basteln zum Lebensstil zu machen.
Künstliche Intelligenz ist leichter zu ertragen, als natürliche Dummheit!
Es ist schon ziemlich unverschämt - erst recht mit so einer Frage - zwei Foren gleichzeitig zu beschäftigen, siehe [Hinweis] Wie poste ich richtig? Punkt 2.2.