в Typescript?: class Main { someMethod(arg: string) { if(arg === "first") return new First() else { return new Second() } } }, то есть по условию получать доступ к интерфейсу класса - я так уже пытался только что, но единственное что выходит - так это получать только общие их методы, а не те, которые хотелось бы; P.S просто первый раз вообще об этом задумался, кто знает - как быть?
правильно я тебя понял?
class First { constructor ( public first: number, ) {} } class Second { constructor ( public second: string, ) {} } type SomeMethodResult <T extends string> = T extends 'first' ? First : Second; class Main { public someMethod <T extends string> (arg: T): SomeMethodResult <T> { if (arg === 'first') { return new First(1) as SomeMethodResult <T>; } else { return new Second('2') as SomeMethodResult <T>; } } }
О, я попробую, спасибо
Все же чекну через полиморфизм
Обсуждают сегодня