跳到主要內容

sdk_version_set_literal

Set 字面量直到版本 2.2 才支援,但此程式碼需要能夠在更早的版本上執行。

描述

#

當在 SDK 約束的下限小於 2.2.0 的程式碼中找到 Set 字面量時,分析器會產生此診斷。Set 字面量在早期版本中不受支援,因此此程式碼將無法在早期版本的 SDK 上執行。

示例

#

以下是一個 pubspec 檔案示例,其中定義了 SDK 約束,且其下限小於 2.2.0

yaml
environment:
  sdk: '>=2.1.0 <2.4.0'

在該 pubspec 檔案所在的包中,以下程式碼會產生此診斷:

dart
var s = <int>{};

常見修復方法

#

如果您不需要支援早期版本的 SDK,則可以提高 SDK 約束以允許使用此語法。

yaml
environment:
  sdk: '>=2.2.0 <2.4.0'

如果您確實需要支援早期版本的 SDK,則將 Set 字面量替換為建立 Set 的程式碼,但不要使用字面量形式。

dart
var s = new Set<int>();