Dart 为什么扩展对象时在类型参数中定义的类型不同于在主函数中引用时定义的类型?
难以用语言解释,但我有以下代码:Dart 为什么扩展对象时在类型参数中定义的类型不同于在主函数中引用时定义的类型?,dart,Dart,难以用语言解释,但我有以下代码: void main(){ Test2 Test2=新的Test2(); //这个不一样吗? printHashcode(test2.type); //以下2个是相同的 printHashcode(Test2); printHashcode(Test2); } 无效打印哈希代码(t型){ 打印($t hashcode:${t.hashcode}); } 课堂测试{ 类型=T; } 类Test2扩展了测试{ 测试2(){ } } 示例输出: Test2哈希代码:6
void main(){
Test2 Test2=新的Test2();
//这个不一样吗?
printHashcode(test2.type);
//以下2个是相同的
printHashcode(Test2);
printHashcode(Test2);
}
无效打印哈希代码(t型){
打印($t hashcode:${t.hashcode});
}
课堂测试{
类型=T;
}
类Test2扩展了测试{
测试2(){
}
}
示例输出:
Test2哈希代码:629420109
Test2哈希代码:229136709
Test2哈希代码:229136709
我期望的输出是主函数中的3个打印相同,但第一个不同。这是一个bug还是一个预期的特性
如果它是一个预期的特性,那么有没有一种方法可以获得与Test2类定义中相同的类型对象
谢谢,我刚刚尝试了你的代码,我得到了所有三条打印语句的相同输出
Test2 hashcode: 683363706
Test2 hashcode: 683363706
Test2 hashcode: 683363706
刚刚更新到最新的开发版本(原始通道)
是的,谢谢你,IRC上通知你,这已经在最新版本中修复/排序。
Dart VM version: 1.1.0-dev.4.0 (Fri Dec 13 03:22:00 2013) on "linux_x64"