Ich möchte generische Methode implementieren, die konkrete Art basierend auf bereitgestellten Schnittstelle zurückgeben wird. Ist das in TypeScript überhaupt möglich?Generische Fabrik basierend auf Schnittstelle TypeScript
Hier mein Pseudo-Beispiel ist:
interface IDog {
canRun: boolean;
}
interface IBird {
canFly: boolean;
}
class Dog implements IDog {
canRun: boolean;
}
class Bird implements IBird {
canFly: boolean;
}
function createInstance<T>(): T {
const key = typeof T;
switch (key) {
case IBird:
return new Bird();
return
case IDog:
return new Dog();
default:
break;
}
}
// concrete is Dog
const concrete = createInstance<IDog>();
createInstance()
Methode ist ein rohes Beispiel dafür, was ich zu erreichen versuchen, es wird nicht kompilieren!
Ich möchte Schnittstelle Typ Methode zur Verfügung stellen und einige Logik implementieren, die konkreten Typ für die bereitgestellte Schnittstelle erstellen wird.
Ist es in TypeScript möglich?
Would Bereitstellung type through string Argument wäre akzeptabel? Ich meine etwas wie 'createInstance (animalType: string)'. – kamyl
In diesem Fall wird "Beton" nicht eingegeben. Leider versuche ich einen geeigneteren Ansatz zu finden. – kat1330
Alles würde getippt werden. Sie könnten mit etwas wie 'const Hund: IDog = AnimalFactory.create ('Hund');' – kamyl