是否有一种方法可以将dart class
的类名作为String
或Type
对象来获取??
class MyClass {
}
var myClass = MyClass();
我知道property
,runtimeType
会将对象的类型作为Type
对象返回。但是类有类似的功能吗?
print(myClass.runtimeType.toString());
我当前要做的是创建该类的对象并使用runtimeType
。
String type = MyClass().runtimeType.toString();
注意:在python
中,每个类都有一个名为__name__
的变量,它可以满足我的需要。
我的最终目标是使用以前保存的类名创建一个飞镖对象。他们在this issue中提出了一种使用Map
的方法。
问题是我有很多类,在我的情况下该方法看起来很混乱。
我目前要做的是,通过以下方式保存对象类型:
var saving = myClass.runtimeType.toString();
加载时:
if (saving == MyClass().runtimeType.toString()) {
return MyClass();
}
根据您的经验和意见,您可以提出更好的解决方案吗?。
谢谢!!!
答案 0 :(得分:13)
您可以使用:
var runtimeTypeName = (MyClass).toString();
或对于仿制药:
var runtimeTypeName = T.toString();
答案 1 :(得分:1)
类类型可以用作Type
:
Type myType = MyClass;