跳到主要內容

library_private_types_in_public_api

穩定
建議

避免在公開 API 中使用私有類型。

詳細資訊

#

避免在公開 API 中使用程式庫私有類型。

就此 lint 而言,公開 API 定義為任何頂層或成員宣告,除非該宣告是程式庫私有的,或包含在程式庫私有的宣告中。以下類型用法會受到檢查:

  • 函式或方法的回傳類型、
  • 函式或方法的任何參數類型、
  • 任何函式、方法、類別、Mixin、擴充功能的擴充類型或類型別名的類型參數的界限、
  • 任何頂層變數或欄位的類型、
  • 類型別名宣告中使用的任何類型 (例如 typedef F = _Private Function();),或
  • 擴充功能或 Mixin 的 on 子句中使用的任何類型

錯誤範例

dart
f(_Private p) { ... }
class _Private {}

正確範例

dart
f(String s) { ... }

啟用

#

若要啟用 library_private_types_in_public_api 規則,請在您的 analysis_options.yaml 檔案中的 linter > rules 下新增 library_private_types_in_public_api

analysis_options.yaml
yaml
linter:
  rules:
    - library_private_types_in_public_api

如果您改為使用 YAML 對應語法來設定 linter 規則,請在 linter > rules 下新增 library_private_types_in_public_api: true

analysis_options.yaml
yaml
linter:
  rules:
    library_private_types_in_public_api: true