2013-10-08 21 views
4

是否有可能使用存儲在變量中的類型實例來測試Dart中對象的類型?例如如何使用Type變量測試類型?

Foo foo = new Foo(); 

Type testtype = Foo; 

if (foo is testtype) { 
    print("foo matched testype"); 
} 

這給了我以下警告:

The name 'testtype' is not a type and cannot be used in an 'is' expression 

是否有這樣做的一種方式?

最終,我想將Type傳遞給函數作爲參數,然後使用它執行「is」型測試。

+0

如果這個問題是固定的,在類型的方法,它可以解決你的問題:https://code.google.com/p/鏢/問題/細節?ID = 13856。另一方面,你的代碼會給出一個警告,但它的工作原理(也許嘗試提出警告的錯誤)。 –

+0

奇怪我不再警告。然而,「現在」測試現在總是成功。我可以將測試類型設置爲任何內容,並始終打印消息。 – mark

回答

0

如果(foo.runtimeType == testtype.runtimeType)

+1

謝謝。我曾嘗試過這種方法。但是,我希望測試包括我認爲「是」測試所能做到的子類型。 – mark

1
Foo foo = new Foo(); 

Type testtype = Foo; 

if (foo.runtimeType == testtype) { 
    print("foo matched testype"); 
} 
+0

對financeCoding同上評論 – mark

相關問題