带有私有标识符参数的符号

2024-03-24

我想创建一个与私有 MethodMirror 的简单名称相同的符号。但是,Symbol 的文档指出 new Symbol 的参数必须是有效的公共标识符。如果我尝试创建一个const Symbol('_privateIdentifier')dart 编辑器告诉我,对该常量表达式的求值将引发异常 - 尽管程序运行良好,并且我可以毫无问题地使用它。

void main(){
  //error flagged in dart editor, though runs fine.
  const s = const Symbol('_s');
  print(s); //Symbol("_s");
}

看来镜像系统使用了符号。

import 'dart:mirrors';
class ClassA{
  _privateMethod(){}
}

void main(){
  var classMirror = reflect(new ClassA()).type;
  classMirror.declarations.keys.forEach(print);
  //Symbol("_privateMethod"), Symbol("ClassA")
}

dart 编辑器中的文档/错误标记是否是由于过时的 dart 分析器而导致的遗留错误?或者将来有计划执行这一公共要求吗?是否有另一种方法来创建一个唯一的识别符号,该符号将被缩小为与声明的简单名称相同的符号


如果它没有抛出,那么虚拟机在 const Symbol 构造函数中存在错误。

问题是“_s”在没有说明它属于哪个库的情况下无法识别私有变量。符号构造函数有第二个参数,采用LibraryMirror因此,如果传入私有名称而不传入镜像,则应该抛出异常。 如果不回避 const 构造函数的要求(不执行代码!),在 const 构造函数中很难做到这一点,这可能就是 VM 不处理它的原因。它需要在编译器级别进行特殊处理。

你还会发现const Symbol('_s')不等于#_s。后者为当前库创建一个私有符号,前者(如果运行)创建一个名为“_s”的非私有符号,这并不是真正有用。例如print(identical(#_s, const Symbol('_s')));打印错误。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有私有标识符参数的符号 的相关文章

  • DragTarget onWillAccept 和 onAccept 未触发

    我从 Flutter 开始 无法使用拖放功能 我遵循了文档 但不知道我做错了什么 此示例应用程序显示三个正方形 蓝色是可拖动的 其他的都设置了 DragTarget 一个在方块内 一个在方块外 当我拖动蓝色方块时 它会打印拖动开始的信息 但
  • 带有子列表的干净架构 toJson(reso 编码器)

    我正在尝试使用干净的架构 由 reso 编码器解释 https resocoder com 2019 09 09 flutter tdd clean architecture course 4 data layer overview mod
  • Flutter 中的 SharedPreferences 错误

    我正在使用shared preferences我的 Flutter 应用程序中的插件 从某个时刻开始 可能是在 Flutter 升级之后 它开始抛出异常 E flutter 27778 ERROR topaz lib tonic loggi
  • 为什么 Dart 中的原生包装函数与非常轻量级的“DEFINE NATIVE ENTRY”函数相比如此重量级?

    我不明白 为什么要这样保证 这是自定义本机函数的包装器dart runtime vm native entry cc 它适用于想要编写的 Dart 程序员native extensions void NativeEntry NativeCa
  • 如何:默认显示 video_player 插件的播放控件 (flutter-web)

    有什么方法可以默认显示视频播放器的控件吗 如果我在浏览器中右键单击视频 我就可以显示它们 所以我假设必须有一种默认显示的方法 我无法找到默认显示 video player 控件的方法 但使用了这个包 它在 Flutter web 上工作得很
  • 如何连接flutter到localhost mysql数据库

    我想将本地主机 mysql 数据库连接到 flutter 但我没有这样做 我尝试了 mysql1 与这些连接 ConnectionSettings host 10 0 2 2 port 3306 user root password roo
  • 当子列表视图在颤动中到达末尾时,有什么方法可以滚动父列表视图吗?

    假设我有一个可滚动页面 在该页面内我有另一个可滚动列表视图 垂直 所以我希望当子列表视图到达末尾时 可滚动页面开始移动到其末尾 此外 当子列表视图到达顶部时 可滚动页面开始移动到顶部 怎样才能做到这一点 这是我的代码 Widget Fres
  • 如何从 Flutter Web 中的 URL 中删除哈希 (#)

    Flutter Web 项目的默认 URL 定义了包含主题标签的 URL 如下 http localhost 41521 peaple 我想删除这个 如下所示 http localhost 41521 peaple 我怎么解决这个问题 您现
  • 如何在 Flutter 中为 Button 添加渐变?

    有没有办法改变ElevatedButton背景颜色渐变 如果没有一些小瑕疵或问题 例如缺少涟漪效应 不需要的边框 不尊重主题的内容 上述所有解决方案都无法真正发挥作用minWidth对于按钮 The 下面的解决方案没有上述问题 关键部分是使
  • 如何设置 dart objectbox 并预填充本地数据库?

    我想用 Flutter 设置一个 ObjectBox 数据库 我想用值预先填充数据库文件 安装应用程序时 数据库文件将被复制并由应用程序使用 我希望能够继续提供架构迁移 是否可以 如何建立这种类型的架构 你有什么例子吗 SOLUTION 通
  • 内联 svg 不显示在 xhtml 中

    我创建了一个带有内联 SVG 的 XHTML 文件 当测试为 XHTML 时 它不会显示 但当测试为 HTML 时 它会显示 我已经搜索过互联网并相信我已经指定了正确的名称空间等 但是 我很困惑为什么它没有显示 请帮助我理解我做错了什么 注
  • 当模拟器存在时 Flutter 应用程序不运行

    模拟器在那里 但当我启动应用程序时它不起作用 请帮忙 我已经尝试了一切 Cal Flutter 新手 我已遵循安装指南并尝试了其他堆栈流答案的修复 我正在运行 Windows 8 1 单一用户 我已经从命令提示符和 android 终端中尝
  • perf 找不到外部模块符号

    跑步时perf它找到了我的程序的内核符号和符号 但没有找到外部模块符号 我已经编写了一个内核模块 我使用它加载insmod我怎么知道perf也找到它的符号 我正在运行 2 6 37 6 内核 无法升级 我的perf尚不支持矮人选项 但我认为
  • 如何增加颤振中切屑的宽度

    我想增加宽度Chip 我怎样才能实现这个目标 Chip elevation 6 0 backgroundColor Colors white shape RoundedRectangleBorder borderRadius BorderR
  • 将 Flutter 前端与适用于 Android 和 iOS 的 .NET Core 后端相结合

    目前在一家使用 NET 不是 Core 的公司工作 但希望切换到 NET Core 并想通过创建一个具有 Flutter io 前端和 NET Core 后端的应用程序来实现这一目标 带后端的应用程序只是为了了解 NET Core 的功能
  • Flutter中如何在弹出屏幕后调用函数更新值?

    屏幕 1 显示带有添加按钮的项目列表 屏幕 2 用于将新项目添加到列表的表单 屏幕 2 gt gt 屏幕 1 在屏幕 2 中调用 navigator pop 时 如何在屏幕 1 中调用方法 setState 更新列表 谁能帮我吗 我不想再次
  • 如何在flutter中实现字母滚动

    有没有任何插件或方法可以在 flutter 中实现这种滚动 具体来说 右侧的字母列 例如突出显示当前字母表字母 或者如果点击某个字母 则滚动视图会直接转到该字母标题 为了按字母顺序排序 我们可以这样做List sort 对于粘性标题 我们也
  • Dart:如何在本机扩展中创建流

    在我的本机扩展中 我需要将整数流式传输到我的 Dart 控制台应用程序 在概念上非常相似 标准输入 如何创建向控制台应用程序公开的本机 Dart Stream 对象 我尝试为您创建一个示例并将其放在 github 上 https githu
  • 在 Flutter 中显示 CircularProgressIndicator 在前面

    我想显示一个圆形栏 就像在其他小部件前面加载一样 下面是我当前正在使用的代码 它显示了循环加载 但它位于其他小部件之间 它应该在顶部 根据我尝试使用 Stack 的建议 但它仍然显示在小部件之间 我在这里做错了什么 class LoginP
  • Dart2js 数字类型:确定值是 int 还是 double

    我正在尝试确定是否dynamic函数的参数实际上是一个int or a double我发现了令人惊讶的行为 至少对我来说 谁能解释一下这个输出 在 dartpad 上生成 foo value print value is int value

随机推荐

  • Flutter中使用POST请求上传文件

    我正在尝试使用发布请求将视频文件上传到我的服务器 var file new File videoPath var uri Uri parse tokenizedUri HttpClientRequest request await new
  • 改变变量指针

    给定 2 个变量 布尔值 整数 int64 TDateTime 或字符串 如何将 A 设置为始终指向 B 假设A和B是整数 我将B设置为10 从现在开始我希望 A 始终指向 B 所以如果我这样做A 5它会修改 B 我希望能够在运行时执行此操
  • Linq、VB - 匿名类型无法转换为匿名类型

    我是 Linq 菜鸟 也许有人可以指出我正确的方向 这是怎么回事 这些匿名类型似乎具有相同的签名 Get all of the new list items Dim dsNewFiles From l1 In list1 Where Not
  • fusedLocationProviderClient.lastLocation.addOnSuccessListener 始终为 null

    我刚刚更新了我的位置 API 以使用 FusedLocationProviderClient 但我遇到了这个问题 当我关闭并打开 GPS 时 我总是得到空位置 val fusedLocationProviderClient Location
  • 使用 AJAX 并操作 window.location 时不使用弹出窗口拦截器的 window.open

    在处理来自服务器 例如 Twitter 和 Facebook 的 OAuth 时 您很可能会将用户重定向到请求应用程序权限的 URL 通常 单击链接后 您通过 AJAX 向服务器发送请求 然后返回授权 URL 但是当你尝试使用window
  • Azure Web应用服务时区更改问题

    我们正在使用 Azure Web 应用程序服务进行多租户应用程序 但应用程序服务的默认时区是 UTC 我只想更改该地区的时区 我已经在应用程序设置中尝试了 WEB TIMEZONE 变量 但不起作用 You are setting wron
  • 生成 MD5 密钥并保存在文本文件中

    我正在使用 MD5 命令行实用程序 可以从此处获取http www fourmilab ch md5 http www fourmilab ch md5 我想要做的就是生成一个文件夹中所有文件的 MD5 密钥并将它们保存在一个文件中 但是
  • AADSTS70007:请求令牌时,“query”不是“response_mode”受支持的值

    因此 几天前我在 Azure AD 中创建了一个应用程序 请求授权码时 当我请求两者时 我收到以下错误code and id token in response type范围 AADSTS70007 当以下情况时 query 不是 resp
  • 无法访问 Web 控件的 Page_Load 事件中的公共方法

    我想打电话给我的Public String Function 方法来自我的 ascx s Page Load事件 该函数和包含的类位于与 Web 控件相同的代码后面 但我无法访问该功能 我该如何解决这个问题 Example public c
  • 包含闭包的 swift 函数的空返回值

    我创建了一个函数 该函数应该返回一个字典 其中填充了在线检索的数据 使用 json 基于 Ray Wenderlich tut 该代码位于闭包中 问题是首先返回一个空字典 然后才填充它 不知道这是否与获取远程数据的延迟有关 但显然我需要在返
  • Clang-Tidy 找不到我的头文件

    这里是 clang 和 clang tidy 的新手 我有一个具有这种结构的项目 project build cmake component1 src someFile cpp someFile2 cpp someFile hpp some
  • grunt-terser 给出语法错误:“VARIABLE_NAME”被重新声明

    我在用着咕噜语 https www npmjs com package grunt terser缩小我的 es6 文件 我有两个文件 文件1 js 文件2 js 在这两个文件中 我需要一个具有相同变量名称的模块 如下所示 const VAR
  • 如何使用group-concat mysql创建json格式?

    如何使用group concat mysql创建json格式 我使用MySQL 示例1 table1 email name phone email protected cdn cgi l email protection Ben 65553
  • OS X 崩溃日志符号

    我无法使用 XCode 4 6 来符号化来自测试人员和用户的 OS X 不是 iOS 崩溃日志 崩溃日志无法拖到管理器中 并且管理器不会显示 Library Logs DiagnosticReports 中的任何崩溃日志 尽管某些日志位于该
  • Linux/Windows 中的 C/C++ 内存使用 API

    我想获取每个进程和系统范围的内存使用信息 在 Windows 中 这非常简单 GetProcessMemoryInfo 和 GlobalMemoryStatusEx 可以非常轻松地完成这些工作 例如 GetProcessMemoryInfo
  • 有没有人找到一种方法来合并 Xcode 项目或 Core Data 模型文件中的更改?

    有没有办法使用 VCS 我正在使用 git 并让它与 Xcode 文件合并 例如 如果我的同事向项目添加了一个新组 当我合并他的更改时 我会合并该组吗 或者 如果他向核心数据实体添加一个属性 我会在我的核心数据模型中获得该属性吗 核心数据和
  • 无法在 Android Studio 中解析符号 HttpGet、HttpClient、HttpResponce

    我只是复制所有的jar文件Http but Android Studio无法导入所有这些 jar 文件 它给出一个错误 Cannot resolve symbol HttpGet HttpClient HttpResponse My Act
  • 浮点精度显示(Android)

    我正在尝试制作一个程序 它接受一些用户输入 运行一些计算并输出答案 我的问题是 这个答案有时会长很多小数位 这会导致一些美观和布局问题 我只需要显示小数点后 4 位的数据 是否有办法在输出时限制这些数字的精度 数字存储在浮点数中 我正在为
  • 如何创建可滚动的结果集?

    我得到了这个简单的代码来从 MSSQL Server 2008 检索记录集 由于我设置了 ResultSet TYPE SCROLL INSENSITVE 该记录集必须是可滚动的 与 Javadocs 中的示例相同 String qry S
  • 带有私有标识符参数的符号

    我想创建一个与私有 MethodMirror 的简单名称相同的符号 但是 Symbol 的文档指出 new Symbol 的参数必须是有效的公共标识符 如果我尝试创建一个const Symbol privateIdentifier dart