Fragensteller
Dictionary mit Generic types (value) ?

Allgemeine Diskussion
-
Hallo zusammen
Ist es möglich ein Dictionary mit Generic types zu erstellen ?
In der base-Klasse habe ich folgendes:
public abstract Task<Dictionary<string, Product>> GetTickersAsync();
in der Subklasse wird aber einmal ein Dictionary Task<Dictionary<string, Product>>
und einmal ein Task<Dictionary<string, Underlying>> zurück gegeben.
Gibt es eine Möglichkeit den Wert im Dictionary als "generic" zu definiere (in der baseclass) ?
Irgendwie so: public abstract Task<Dictionary<string, T>> GetTickersAsync(); ?
Besten Dank für eure Hilfe
Gruess Dominic
- Typ geändert Ivan DragovMicrosoft contingent staff, Moderator Mittwoch, 26. September 2018 08:09 Keine Rückmeldung
Alle Antworten
-
Hi Dominic,
ich glaube ich habe noch nicht ganz verstanden was du genau vor hast. Vielleicht kannst du noch etwas mehr von deinem Code posten.
Hier wäre noch ein weiterer Vorschlag:
class Program { static void Main(string[] args) { var b = new B(); var c = new C(); var d1 = b.test(); } } public class Obj1 {} public class Obj2 {} abstract class A<T> { public abstract Dictionary<string, T> test(); } class B : A<Obj1> { public override Dictionary<string, Obj1> test() { return new Dictionary<string, Obj1> { { "obj1-1", new Obj1() }, { "obj1-2", new Obj1() }, }; } } class C : A<Obj2> { public override Dictionary<string, Obj2> test() { return new Dictionary<string, Obj2> { { "obj2-1", new Obj2() }, { "obj2-2", new Obj2() }, }; } }
Die Methode test wäre stellvertretend für GetTickersAsync und gibt hier ein Dictionary zurück. Ich hoffe das passt besser zu deinem Vorhaben.
Viele Grüße, Chris