首页 > 解决方案 > 被调用的构造函数不是

问题描述

我有一个类,我打算在另一个类中使用默认参数。

import 'package:permission_handler/permission_handler.dart';

/// Service to handle requesting of permissions.
/// Using extension methods disables testing
class PermissionService {
  /// Check the status of a specific [Permission]
  Future<PermissionStatus> status(Permission permission) {
    return permission.status;
  }

  /// Open the app settings.
  Future<bool> openAppSettings() {
    return openAppSettings();
  }

  /// Request permissions for a single permission.
  Future<PermissionStatus> request(Permission permission) {
    return permission.request();
  }
}

但我在下面收到此错误。

const permissionService = PermissionService(); 
// The constructor being called isn't a const constructor.
// Try removing 'const' from the constructor invocation.

为什么我不能将类创建为 const?

标签: flutterdartdefault-constructor

解决方案


就像错误消息告诉你的那样,PermissionService没有const构造函数。像这样添加一个:

class PermissionService {
  Future<PermissionStatus> status(Permission permission) {
    return permission.status;
  }

  Future<bool> openAppSettings() {
    return openAppSettings();
  }

  Future<PermissionStatus> request(Permission permission) {
    return permission.request();
  }

  const PermissionService();
}

文档


推荐阅读