Class 在Dart中,了解类是否已定义的最佳方法是什么?

Class 在Dart中,了解类是否已定义的最佳方法是什么?,class,reflection,dart,Class,Reflection,Dart,在我的程序中,我希望根据是否定义了类来定义不同的行为 如果在javascript中有未定义的 var i = (NewClass == undefined) ? new OldClass() : new NewClass(); 变量i=(新类==未定义)?new-OldClass():new-NewClass(); 既然Dart是编译的,那么可以这样做吗 似乎最好的答案是使用字符串“NewClass”搜索类NewClass。看我不确定你到底想表达什么 在Dart中,您不能动态定义类(至少还不能

在我的程序中,我希望根据是否定义了类来定义不同的行为

如果在
javascript
中有未定义的

var i = (NewClass == undefined) ? new OldClass() : new NewClass(); 变量i=(新类==未定义)?new-OldClass():new-NewClass(); 既然Dart是编译的,那么可以这样做吗



似乎最好的答案是使用字符串“NewClass”搜索类
NewClass
。看

我不确定你到底想表达什么

在Dart中,您不能动态定义类(至少还不能)

因此,这样的if毫无意义。

事实上,该代码在JavaScript中也不起作用,如果
NewClass
根本没有被声明,您将得到一个
ReferenceError
(typeof NewClass==“undefined”)
可以工作,也许有一个Dart等价物。一个库可能包含,也可能没有包含,它会添加
NewClass
在运行时检查这一点是没有意义的。您只能在编译时添加它。如果(我没有写正确的代码){无论如何做正确的事情;}
Dart没有动态加载的概念,你也可以写
?真的吗?是的,但是也只加载编译的单元。只能使用序列化对象(字节序列)进行通信。如果类型未包含在接收隔离的代码中,则无法反序列化为源类型。确实如此-