Javascript Typescript创建类隐藏其他类并返回泛型结果

Javascript Typescript创建类隐藏其他类并返回泛型结果,javascript,typescript,Javascript,Typescript,我仍然在研究泛型类,我需要动态创建其他类。但我不知道怎么做 Class A {} Class B<T> { Return T } Const c = B(A); // which is T 我想问的是,对于任何输入类型,我得到一个泛型类型作为返回类型。这是一个愚蠢的想法,因为编译器从输入推断类型,并用实际的自定义或基本类型替换U 对于我的返回泛型类型,也许我们可以通过条件类型实现它,但我仍然在使用扩展和实现后面的整个类型、强制类型和隐藏类型 谢谢你的回答,这是我当前问题的正确

我仍然在研究泛型类,我需要动态创建其他类。但我不知道怎么做

Class A {}

Class B<T> {
Return T
}

Const c = B(A); // which is T 
我想问的是,对于任何输入类型,我得到一个泛型类型作为返回类型。这是一个愚蠢的想法,因为编译器从输入推断类型,并用实际的自定义或基本类型替换U

对于我的返回泛型类型,也许我们可以通过条件类型实现它,但我仍然在使用扩展和实现后面的整个类型、强制类型和隐藏类型


谢谢你的回答,这是我当前问题的正确答案。

如何在TypeScript中实例化泛型类型

来源:Rico Suter的博客。

但是,您将如何在
TypeScript
中编写这样一个方法呢?主要 问题是,泛型类型参数T在 运行时,因为
TypeScript泛型
仅在编译时使用 用于类型检查,并在传输的
JavaScript
code中删除

public类工厂
{
公共文件不能创建()
其中T:new()
{
返回新的T();
}
}
var yourFactory=new yourFactory();
var person=yourFactory.Create();

参考

您的用例是什么?您希望
c
T
类型?什么是
T
?还是希望
T
A
类型?在这种情况下,
B
实际上只是一个函数(而不是类构造函数)?也许您可以充实这段代码,以构成一个真实的代码,并按照中的描述清楚地解释您正在尝试执行的操作。祝你好运@jonas我试图用angular和typescript 3.45创建一个动态的react表单。我使用指令解析组件,但不必显式声明它。组件:componentRef=ref.resolvefactory(SpecialComponent);导致错误的特殊组件不等于T
ComponentRef
是正确的类型。或者省略类型为
const component=ref.resolveFactory(…)
,让typescript推断它
function func(a: U): U {
  return a;
}
const c = func(arg: U); // after this line, c has a value of type U

// Same as 

const c = func(10); // now c = 10;
public class YourFactory
{
    public T Create<T>()
        where T: new()
    {
        return new T();
    }
}

var yourFactory = new YourFactory();
var person = yourFactory.Create<PersonModal>();