我仍然对通用类有所了解,并且需要动态创建其他类。但是我不确定该怎么做。
def newton_nthroot(x,n,acc):
value=1
while True:
z = (x-(value**n))/(n*(value**(n-1)))
if round(z,acc) == 0:
break
else:
value +=z
print(round(value,acc))
为我想做的事情提供更多背景信息。
我使用角和打字稿3.45。通过解析正确的组件动态创建表单。在指令中,我应该能够检索通用类。并在不了解其创建的类的情况下使用它。遵循关注点分离。
更新
最后,我获得了通用类型的一部分,但仍然有一些灰色区域,我仍在挣扎中,不确定从哪里开始。对于任何有兴趣并且可能有些困惑的人,我希望这可以帮助您澄清一下。
采用任何输入类型并接收相同的类型。代码示例,让我们将其称为通用类型Class A {}
Class B<T> {
Return T
}
Const c = B(A); // which is T
。
U
我想问的是,对于任何输入类型,我都会得到一个通用类型作为返回类型。这很愚蠢,因为编译器从输入中推断类型并将U替换为实际的自定义或基本类型。
对于我的返回通用类型,也许我们可以通过条件类型来实现它,但是我仍然习惯于在扩展和实现之后使用整个类型,转换类型和隐藏类型。 link
感谢您的回答,这是我当前问题的正确答案。
答案 0 :(得分:2)
如何在TypeScript中实例化通用类型
来源 Rico Suter的博客。 link
但是您将如何在
TypeScript
中编写这样的方法?主要的 问题是,通用类型参数T在以下位置不可用 运行时,因为TypeScript generics
仅在编译时使用 用于类型检查,并在已编译的JavaScript
代码中删除。
public class YourFactory
{
public T Create<T>()
where T: new()
{
return new T();
}
}
var yourFactory = new YourFactory();
var person = yourFactory.Create<PersonModal>();
推荐this