跳到主要內容

type_annotation_deferred_class

延遲載入的型別 '{0}' 不能用於宣告、強制型別轉換或型別測試。

描述

#

當型別註解位於變數宣告中,或者在強制型別轉換 (as) 或型別測試 (is) 中使用的型別是使用延遲匯入匯入的庫中宣告的型別時,分析器會產生此診斷。這些型別需要在編譯時可用,但實際上不可用。

有關更多資訊,請檢視 延遲載入庫

示例

#

以下程式碼會產生此診斷,因為引數 f 的型別是從延遲載入的庫中匯入的:

dart
import 'dart:io' deferred as io;

void f(io.File f) {}

常見修復

#

如果你需要引用匯入的型別,請移除 deferred 關鍵字。

dart
import 'dart:io' as io;

void f(io.File f) {}

如果必須延遲匯入並且存在其他合適的型別,則使用該型別替換來自延遲載入庫的型別。