我正在使用reflectable
库来反映导入包中的类型(例如analysis_server_client
或flutter
)。我可以考虑一下具有Notification
或Request
之类的公共构造函数的类型(来自analysis_server_client
包)。我通过扩展这些类型然后使用superclassQuantifyCapability
功能来思考这些类型。
但是,由于无法扩展它们,因此无法反映具有私有构造函数的类型,例如Icons
(来自flutter
包)。有没有办法反思像Icons
这样的具有私有构造函数的类型?
答案 0 :(得分: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();