问题标签 [emit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
237 浏览

roslyn - Roslyn Workspace API:发射 Wpf 和 Silverlight 项目

我尝试在此解决方案中发出每个项目。

解决方案

我想知道为什么 Emiting “Wpf” 和 “Silverlight” 项目会出现问题。我可以理解我无法发出当前正在执行的控制台项目。

错误

如何添加缺失的参考文献?这是我的代码:

0 投票
0 回答
344 浏览

javascript - 对 AngularJS $rootScope.$emit 的效果进行单元测试

我正在编写一个 AngularJS 单元测试,它发出和事件,然后调用服务以查看事件是否被正确处理。

我的服务以常规方式实现事件监听器:

虽然我的测试目前通过了,但我担心我的事件侦听器可能正在异步处理。

我的问题是,$rootScope.$digest()在我的期望之前调用是否足以确保所有事件侦听器都已被调用并返回?

0 投票
0 回答
27 浏览

socket.io - socketio中类值和局部值的区别

由于某种原因,此代码无法正常工作。

在服务器端:

但是当我将套接字对象更改为本地值时,它运行良好。

我想使用套接字值作为类成员。我的代码有什么问题?

------------------------------------添加代码------------------------ ---------------

0 投票
1 回答
1125 浏览

c# - 发出并设置属性

我想发出一个属性并设置它:

但是此时 pb.SetMethod 为空-我在这里缺少什么?

0 投票
1 回答
1329 浏览

c# - 有没有办法查看生成的 DynamicMethod 的 IL 代码(在 Sigil 中)?

我正在使用Sigil创建一个DynamicMethod并希望查看生成的 IL。

我以前从未合作过,DynamicMethods所以也许有一个非常明显的答案,但到目前为止我还没有找到任何东西。

这是一个类似的问题,但它已经很老了,我不知道链接工具是否适用于 VS2013 - 我想也许有更新的东西可用。将生成的方法存储在程序集中并将其写入磁盘可能是可行的,但这在开发过程中非常麻烦。

顺便说一句,我知道out string instructionsSigilCreateDelegate方法的参数,但这似乎不是“真正的”IL 代码(包含例如命名标签),我也不确定这是在 Sigil 优化之前还是之后。

编辑:正如@svick 建议的那样,我最终创建了一个动态程序集并将其写入磁盘。然后可以使用 来查看发出的方法的 IL ildasm。如果有人想做同样的事情,这是我使用的代码:

0 投票
3 回答
905 浏览

javascript - 如何在运行时动态创建 C# 类(根据现有类)

背景:

我们有一个带有客户端(Javascript)和服务器端(C#)的项目。两边都有计算逻辑需要跑,所以用Javascript和C#写的。我们有许多针对 C# 版本类的单元测试。我们的目标是共享 C# 和 Javascript 实现的单元测试。

现在的情况:

我们能够在嵌入式 JS 引擎 (Microsoft ClearScript) 中运行 Javascript 代码。代码如下所示:

但是,编写这样的类需要付出很多努力。我们正在寻找一种在运行时动态创建此类类的方法。

例如,我们有一个 C# 类(在 JS 文件中也有它的 JS 版本):

我们想创建一个具有相同方法但调用脚本引擎来调用相关JS代码的动态类。

有可能做到吗?

0 投票
1 回答
393 浏览

c# - Emit(OpCodes.Ldfld, textBox) 转换失败

我正在使用 Reflection.Emit 构建一个简单的动态方法,该方法在简单的 WPF 程序(MyTextBox.Text)中获取 TextBox 对象的 Text 属性值。

使用 Invoke 无法正确调用此动态方法,感谢 VisualStudio.DebuggerVisualizers,我在“Emit(OpCodes.Ldfld, textBox)”这一行发现了一些错误。

这是调试时 ILStream 的输出:

这是代码:

TestSHowVisulalizer()有助于显示 IL 流以进行调试。

有没有人有让像 TextBox 这样的 WPF 控件与 Reflection.Emit 一起使用的经验?

我写了这段代码'var a = MyTextBox.Text',然后使用 ilsdasm 来获取 il。它看起来像这样: .locals init ([0] string a) IL_0000: nop IL_0001: ldarg.0 IL_0002: ldfld class [PresentationFramework]System.Windows.Controls.TextBox MyWPFTest.MainWindow1::MyTextBox IL_0007: callvirt instance string [PresentationFramework ]System.Windows.Controls.TextBox::get_Text() IL_000c: stloc.0 IL_000d: ret } // 方法结束 MainWindow1::MyTextBox_TextChanged

0 投票
2 回答
1936 浏览

angularjs - 子指令与父指令之间的通信

我试图弄清楚如何让子指令与它的父指令通信

我基本上有这个 html 标记

在 myData 指令中,如果没有可用数据,我想隐藏 myPanel。

在我尝试过的 myData 指令控制器中

在我尝试过的 myPanel 控制器中

并且

在任何一种情况下,myPanel 指令都不会收到 $emit

0 投票
1 回答
2625 浏览

angularjs - AngularJS 通过隔离范围进行基于事件的通信

在 AngularJS 中,一个指令如何使用基于事件的通信 ( $emit,$broadcast$on) 与另一个具有隔离范围的指令进行通信?我创建了两个指令,当从第二个指令中删除隔离范围时,第一个指令能够使用 emit 与第二个指令成功通信。但是,当将隔离范围添加回第二个范围时,通信就会中断。

我创建了一个 Plunker 来说明这个问题。您会注意到,如果您在第二个指令的指令定义对象中注释掉“范围”属性,则通信正常:您可以在第一个指令的输入框中键入一个字符串,按下第一个指令的按钮指令,并将字符串传递给第二个指令,后者将其显示在视图上。(就目前而言,由于隔离范围问题,Plunker 已损坏,请参阅 app.js 文件的第 19 行。)

http://plnkr.co/edit/AXUVX9zdJx1tApDhgH32

这是我的首要目标:我为第二个指令使用隔离范围的原因是将内部范围与外部范围分开。(在我的项目中使用的实际“第二个指令”比这个玩具示例复杂得多。这就是必要的原因。)我知道 AngularJS 提供了将外部范围映射到指令的内部范围的机制。我很好奇这些机制中的任何一个对于映射基于事件的通信的事件是否有用。

如果答案是隔离范围对于基于事件的通信是不可逾越的,那么在我已经说明的情况下,完成指令到指令通信的最佳方法是什么,同时仍然实现我的目标?谢谢!

0 投票
1 回答
657 浏览

c++ - 发出信号无法正常工作

我有一个名为dosecalibration 的类,其中包含dosecalibration.cpp 和dosecalibration.h。该类与单独的 ui 表单相关联。在表单上,​​当单击按钮时,会发出信号。

主窗口中有一个连接可以接收此信号,但它似乎不起作用。代码如下:

剂量校准.h:

剂量校准.cpp:

和 mainwindow.h(仅包括“包含”和插槽):

以及来自 graphing.cpp 的片段,它是主窗口类的一部分:

因此,applydose()只需按下剂量校准 ui 中的按钮即可发出信号。这connect应该意味着 apply_dose 的值被发送到控制台,但是没有显示任何内容。

编辑:

将连接放置在if语句中以确定它是否真正连接确认它确实工作正常。

上面的代码成功输出了确认连接的消息。

任何想法?