dart - 如何在没有“部分”指令的情况下访问私有字段?
问题描述
设置一个包的多个库需要访问其自己库中的常用类的情况。此类被导出并包含私有字段,只能由包的库在内部访问。因为part of
不鼓励该指令,我正在避免它。所以这就是挑战:如何在不使用的情况下从同一个包的另一个库访问公共类的私有字段part of
?
这是一个想出的:
class PublicClass {
Object _shouldNotBePublic;
}
class InternalClass extends PublicClass {
Object get publicInternally => _shouldNotBePublic;
}
它部分地解决了这个问题。但是现在有一个导出的函数
void someFunction(PublicClass param) {
param._shouldNotBePublic;
}
它需要一个参数PublicClass
并且它需要访问私有_shouldNotBePublic
字段。这正是 C++friend
所做的。Dart 有什么不涉及的好的解决方案part of
吗?
编辑:我暂时使用的解决方法是在同一个库中一个简单的未导出函数,例如PublicClass
:
Object getShouldNotBePublic(PublicClass obj) {
return obj._shouldNotBePublic
}
解决方案
推荐阅读
- machine-learning - 通过了解一些未来事件来增强预测
- javascript - 从 JSON 响应中删除属性
- mysql - 在这种情况下如何对 COUNT() 求和
- python-3.x - 在多个键上合并 pandas ojn 2 数据帧
- javascript - 渲染中的 React js 变量未定义
- bash - 使用 sed 将字符串替换为单引号
- android - 尝试将徽章添加到 BottomNavigationView 时,我得到了未解决的参考
- wcf - 运行 winforms 客户端,不会使用引用的 wcf 服务启动 iisexpress - 在 Windows 10 下。想法?
- mongodb - 更新 MongoDB 和 Golang 驱动程序中的时间戳字段
- python - 无法为模块“QtMultimedia”加载插件。无法加载库 declarative_multimedia.dll