如何使用私有构造函数反映导入包中的类?

问题描述 投票:1回答:1

我正在使用reflectable库来反映导入包中的类型(如analysis_server_clientflutter)。我可以反思具有公共构造函数的类型,如NotificationRequest(来自analysis_server_client包)。我通过扩展这些类型然后使用superclassQuantifyCapability功能来反思这些类型。

但是,我无法反映具有Icons(来自flutter包)的私有构造函数的类型,因为我无法扩展它们。有没有办法反映像Icons这样的类型有私有构造函数?

reflection dart flutter dart-mirrors
1个回答
0
投票

我想到了。您必须使用GlobalQuantifyCapability,它允许您声明哪些成员生成反射。它也适用于具有私有构造函数的类。一些示例代码:

@GlobalQuantifyCapability(r"^.(SomeClass|SomeEnum)", reflector)
import 'package:reflectable/reflectable.dart';

import 'package:some_package/some_class.dart';
import 'package:some_package/some_enum.dart';

class Reflector extends Reflectable {
  const Reflector() : super(declarationsCapability, ...);
}
const reflector = const Reflector();
© www.soinside.com 2019 - 2024. All rights reserved.