Gee HashMap 包含方法作为值

2024-01-07

我正在尝试填充 Libgee HashMap,其中每个条目都有一个字符串作为键,一个函数作为值。这可能吗?我想要这样的东西:

var keybindings = new Gee.HashMap<string, function> ();
keybindings.set ("<control>h", this.show_help ());
keybindings.set ("<control>q", this.explode ());

这样我最终可以做这样的事情:

foreach (var entry in keybindings.entries) {
    uint key_code;
    Gdk.ModifierType accelerator_mods;
    Gtk.accelerator_parse((string) entry.key, out key_code, out accelerator_mods);      
   accel_group.connect(key_code, accelerator_mods, Gtk.AccelFlags.VISIBLE, entry.value);
}

但这也许不是最好的方法?


代表就是您正在寻找的人。但上次我检查时,泛型不支持委托,所以一个不太优雅的方法是包装它:

delegate void DelegateType();

private class DelegateWrapper {
    public DelegateType d;
    public DelegateWrapper(DelegateType d) {
        this.d = d;
    }
}

Gee.HashMap keybindings = new Gee.HashMap<string, DelegateWrapper> ();
keybindings.set ("<control>h", new DelegateWrapper(this.show_help));
keybindings.set ("<control>q", new DelegateWrapper(this.explode));

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

Gee HashMap 包含方法作为值 的相关文章

  • 包含流中包含 JSF 标签/组件的动态内容

    我正在开发一个应用程序 我想在其中包含来自流的动态 XHTML 内容 为了处理这个问题 我编写了一个标记处理程序扩展 它将动态 XHTML 内容转储到输出组件 如下所示 UIOutput htmlChild UIOutput ctx get

随机推荐

  • 优化图片的javascript预加载

    我想知道是否有人有任何通过 javascript 优化图像预加载的策略 我正在将 Flash 应用程序移植到 html css 中 尝试重新创建尽可能接近原始站点的 UI 它本质上是一个照片浏览器应用程序 当用户将鼠标悬停在链接上时会显示高
  • 按“后退”按钮时,未使用 setResult() 在 onPause() 中设置结果

    我有 2 项活动 AAA 和 BBB 我使用 AAA 从 AAA 呼叫 BBBstartActivityForResult 意图 int 完成 BBB 后 我按 后退 按钮返回 AAA 在 BBB 中 我重写 onPause 并使用以下方法
  • 在 Threejs 平面上渲染 TMX 地图

    使用新代码更新了问题 我正在尝试编写一个 WebGL 着色器来绘制TMX层 https github com bjorn tiled wiki TMX Map Format 从 Tiled 编辑器导出 我正在使用 THREE js 创建一个
  • Keycloak - 权限和策略仅在使用“评估”选项卡时有效

    我们的团队正在寻求使用Policies Permissions在 Keycloak 中 在用户登录时向用户授予范围 但前提是他们具有特定角色 我已经完成了几个教程 并成功地使用它进行了设置和测试Evaluate选项卡 在Authorizat
  • 部署项目未更新 .exe

    我有一个 Winforms 项目 其中一个 exe 文件作为主要输出 我正在使用部署项目来分发它 但是安装新版本时 exe 文件没有更新 这意味着我必须要求用户手动卸载然后安装新版本 这就是我正在做的 我在输出项目上增加程序集版本 这是部署
  • 如何动态构建mongodb查询

    我在 mongodb 聚合中有一个匹配表达式 匹配中包含 3 个字段 但它们并不总是包含数据 我只想在字段不为空时将字段包含在匹配中 如果所有字段都有数据 则匹配的样子 但例如 如果用于studentGradeLevels为空 那么我不想包
  • 加快极其缓慢的 MinGW-w64 编译/链接速度?

    如何加快 MinGW w64 的速度极其C 编译 链接速度慢 编译一个简单的 Hello World 程序 include
  • Kafka:动态更新 jaas 配置

    我已经使用 kafka 设置了 jaas 配置sasl jaas config财产 我想更新此配置并动态添加用户 根据这个文档 http kafka apache org 11 documentation html dynamicbroke
  • C#.NET 使用块

    我想在我的 DAL 层中使用 using 块 喜欢 using SqlConnection con new SqlConnection connection string Command object Reader object 由于 Sq
  • 使用 html5 拖放时滚动[重复]

    这个问题在这里已经有答案了 我刚刚发现 当使用 HTML5 拖放时 尝试使用鼠标滚轮或鼠标垫滚动页面将不起作用 并且不会调用 onmousewheel 事件的侦听器 作为示例 请参见此处 http jsfiddle net 92u6K 2
  • 使用 ASP.net core C# 在 MVC 应用程序中会话过期或空闲时间后重定向到登录页面

    我正在使用 ASP NET Core 我想在会话过期或用户空闲 10 分钟时重定向到登录页面 我怎样才能实现这个目标 目前 正在发生注销 当用户单击任何链接或提交按钮时 应用程序会重定向到登录页面 当用户单击按钮或链接时会发生这种情况 我想
  • 添加视图到 Django 管理

    有没有办法将自定义视图添加到 Django 管理应用程序 具体来说 我希望能够将 内容 div 切换为自定义静态内容 同时保留 页眉 和 页脚 div 这与重定向到静态 HTML 页面不同 后者不会保留页眉和页脚 您只需照常配置视图 url
  • 使用 CMake 触发 NVCC 中的 C++11 支持

    我正在运行带有 CUDA 7 5 的 Ubuntu 15 10 CMmake 是 v3 2 2 NVCC 是版本 7 5 v7 5 17 GCC是Ubuntu 5 2 1 22ubuntu2 v5 2 1 在常规项目中触发 C 11 很容易
  • WinForm 绑定单选按钮

    我使用VS2010 然后将Member datagridview拖放到设计视图中 之后 我将名称成员文本字段拖放到设计视图中 然后尝试编辑和保存 可以正常工作了 然后我将性单选按钮拖放到设计视图中 但绑定它不起作用 在这种情况下我该如何绑定
  • 将 CLOB 转换为 NUMBER 进行比较 - Oracle

    我是oracle新手 我的问题很简单 是否可以将CLOB字段转换为NUMBER类型进行比较 我尝试过使用 CAST 以及 TO NUMBER 函数 但没有任何效果 我的尝试 WHERE TO NUMBER clob field 100 gt
  • Swift 1.2 中的通用和(早期?)绑定

    func f
  • 如何在COM接口定义中指定用户定义类型参数?

    我的 COM 接口方法之一需要用户定义类型的参数 如下所示 uuid 58ADDA77 274B 4B2D B8A6 CAB5A3907AE7 object Interface interface IRadio IUnknown HRESU
  • 如何配置 Compass 在 Windows 上生成带有 Unix 行结尾的文件?

    我刚刚在 Windows 7 上使用 Ruby 1 9 2 安装了 Compass 0 11 5 我的开发环境设置为对所有文件使用 Unix 行结尾 我创建了一个初始 sass test 项目 并注意到它创建的所有文件都有 Windows
  • 检测IE版本不考虑兼容模式

    我想弄清楚是否可以检测您正在使用的 IE 版本 而不是您的文档模式 它可以是服务器或客户端代码 无关紧要 我只需要知道用户安装了哪个版本的 IE 即可 通过检查用户代理字符串 可以在两者中检测到它 请注意 浏览器可以欺骗其 UA 字符串 但
  • Gee HashMap 包含方法作为值

    我正在尝试填充 Libgee HashMap 其中每个条目都有一个字符串作为键 一个函数作为值 这可能吗 我想要这样的东西 var keybindings new Gee HashMap