以类型或字符串的形式获取Dart类的名称 我需要解决的问题

以类型或字符串的形式获取Dart类的名称 我需要解决的问题,dart,flutter,Dart,Flutter,有没有办法将dart类的类名作为字符串或类型对象获取 class MyClass { } var myClass = MyClass(); 我知道属性,运行时类型,它将对象的类型返回为类型对象。但是类是否也有类似的函数呢 print(myClass.runtimeType.toString()); 我现在做的是创建类的对象并使用runtimeType String type = MyClass().runtimeType.toString(); 注意:在python中,每个类中都有一个名为

有没有办法将
dart类的类名作为
字符串或
类型
对象获取

class MyClass {
}
var myClass = MyClass();
我知道
属性
运行时类型
,它将对象的类型返回为
类型
对象。但是类是否也有类似的函数呢

print(myClass.runtimeType.toString());
我现在做的是创建类的对象并使用
runtimeType

String type = MyClass().runtimeType.toString();
注意:在
python
中,每个类中都有一个名为
\uuuuu name\uuuu
的变量,它满足了我的需要

我的意图 我的最终目标是使用以前保存的类名创建dart对象。他们提出了一种使用
Map
s的方法
问题是我有很多类,在我的情况下,这个方法看起来很混乱

我当前要做的是,通过以下方式保存对象类型:

var saving = myClass.runtimeType.toString();
加载时:

if (saving == MyClass().runtimeType.toString()) {
    return MyClass();
}

根据您的经验和意见,您能提出一个更好的解决方案吗?

类类型可以用作
类型

Type myType = MyClass;
您可以使用:

var runtimeTypeName = (MyClass).toString();
或对于非专利药:

var runtimeTypeName = T.toString();

实际上,您不需要使用
(MyClass作为类型)
,只需编写
(MyClass).toString()
@Ramesh-X谢谢。我测试了它并实现了它,因为它更简单。为了避免调用
.toString()
方法,您可以使用插值并缩短它:
'$MyClass'
,这也会产生类名。为什么需要括号?:(MyClass)@AjayGautam如果没有它们,编译器将查找名为
toString
的特定类的静态方法。圆括号将特定类的类型强制转换为
类型
,并使用其方法。你的问题的清晰度和细节都会得到A分。