Problem I need to solve
Is there a way to get the class name of a dart class
as a String
or a Type
object..?
class MyClass {
}
var myClass = MyClass();
I know the property
, runtimeType
which return the type of the object as a Type
object. But is there a similar function for classes?
print(myClass.runtimeType.toString());
What I currently do is creating an object of the class and use runtimeType
.
String type = MyClass().runtimeType.toString();
Note: In python
there is a variable called __name__
in every class, which does what I need.
My intention
My final goal is to create dart objects using previously saved class names. In this issue they have proposed a method using Map
s.
The thing is that I have lots of classes and that method looks messy in my situation.
What I currently do is, save the object type by:
var saving = myClass.runtimeType.toString();
And when loading:
if (saving == MyClass().runtimeType.toString()) {
return MyClass();
}
From your experiences and opinions, can you propose a better solution?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…