问题标签 [dynamic-invoke]

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 投票
2 回答
4554 浏览

c# - 如何将对象数组作为单个参数传递给方法?

我有以下代码:

这种方法的问题在于 m_args 本身就是一个对象,并且它的内容没有被展平到单独的参数条目中。我怎样才能解决这个问题?

0 投票
2 回答
25702 浏览

c# - __DynamicallyInvokable 属性有什么用?

在DotPeekSystem.Linq.Enumerable中查看时,我注意到某些方法带有[__DynamicallyInvokable]属性。

这个属性起什么作用?它是由 DotPeek 添加的还是起到了其他作用,也许会告知编译器如何最好地优化方法?

0 投票
1 回答
50818 浏览

c# - 调用和动态调用之间的区别

委托中的 Invoke 和 DynamicInvoke 有什么区别?请给我一些代码示例来解释这两种方法之间的区别。

0 投票
0 回答
285 浏览

vb.net - 添加组播委托并使用 DynamicInvoke() 调用

我有当前代码,可以使用委托打印输入数字的数学结果。

Module Module1 Dim a As Decimal Dim b As Decimal Dim Answer As Integer

我需要添加一个包含所有四个过程的多播委托,并使用 DynamicInvoke() 方法调用这些过程。

0 投票
1 回答
297 浏览

java - 如何为具有变体参数的方法构造 MethodType

我未能为 Java 中的方法查找创建 MethodType。下面是我的代码。在这段代码中,我想为 sample::gwd 方法创建一个 MethodType,然后通过 lookup().findStatic 检索对该函数的引用。很明显,我无法获得方法参考,因为 MethodType 构造错误。

有谁能帮忙吗?谢谢

0 投票
1 回答
124 浏览

c# - 动态调用和睡眠线程

我有一个关于动态调用和线程的问题。假设我有一个主线程,在某些时候会显示一个对话框。

当我显示 Dialog 时,我的 mainThread 获取 mutexObject 并停止,直到用户单击接受按钮。所以我的主线程正在睡觉。如果用户不按下按钮并且我们等待另一个线程中引发事件。该事件使用 dynamicInvoke 调用前一个函数。在这种情况下 mainThread getUp 如果我不使用 flagDialog 它将显示第二个对话框。这是正确的吗?如果线程没有休眠,dynamicInvoke 会做什么?它会等到 mainThread 停止?如果我关闭这两个对话框,它如何知道在哪里继续执行会发生什么?它堆叠了不同的调用栈并知道如何恢复旧的上下文?

非常感谢。

0 投票
1 回答
251 浏览

java - Java 方法句柄:跨函数传播未绑定的参数

我想创建一个方法句柄,允许我将一个值作为参数传递,该值将绑定到方法句柄树下的占位符。

如图,类似这样:f(x) = plus( minus( x, 2), 3)其中 x 在调用时传递,2 和 3 是一些常量 MethodHandles,它们总是返回 2 或 3。

我遇到了一个我不明白的问题:

这在尝试过滤 plus_3 时返回异常:

我不明白的是,我如何用减号组合加号,其中减号有一个尚未完成的论点。

你能帮助我吗?

0 投票
1 回答
46 浏览

c# - 使用 Task.Factory.StartNew 动态调用方法时,新 CookieContainer 上的线程被取消

我首先在文件夹中加载一些 dll 并将Core类的实例与名称一起存储为 a 中的键Dictionary<string, object>,如下所示:

更多的事件处理方法,atm 只是傻瓜:

稍后,我将Download使用其各自的参数调用该方法:

包含在 dll 中:

到这里一切正常......

“奇怪”的事情是,这只发生在我尝试异步运行方法时,单线程工作得很好。

另外我已经检查过多次,我传递给任务的令牌没有被取消,除此之外,甚至在任务构造函数中都没有使用令牌。

我怀疑它与动态加载和调用 dll 有关。

0 投票
1 回答
328 浏览

c# - 为方法装饰构建表达式树?

我正在构建一个名为的类,该类CommandHandler具有作为输入参数的ExecuteCommand方法。Command

想法是ExcecuteCommand检查命令名称并通过名称模式执行正确的类方法,因此当命令名称为Test类时应该有相应的TestHandler方法。

在初始化时,我使用反射来查找所有方法并在命令名称和 created 之间创建映射Func<Command, Task<object>>。现在我已经通过让所有方法返回Task<object>并用于从反射方法Delegate.CreateDelegate创建来实现这一点,Func<Command, Task<object>>但我想清理代码并允许方法返回简单类型,如 int 或Task<custom class>.

我想构建一些简单的表达式,对于简单类型将执行方法并Task.FromResult动态执行,以便类方法保持干净。对于具有特定类型结果的任务,我想创建将产生的表达式,Task<object>以便所有内容都可以缓存为Dictionary<string, Func<Command, Task<object>>.

我没有使用表达式的经验,我发现的大多数示例都使用基本运算符和静态方法。也许有人可以帮助我如何建立这样的表达?

0 投票
1 回答
257 浏览

c# - 真的没有办法从包含带有方法体的 IL 的 byte[] 中“生成”C#?

我一直在玩弄一些模糊代码的逆向,我偶然发现了一个棘手的 DLL,它在 byte[] 数组中有一个“方法体”(IL 代码),后来用动态调用来调用它。分析 MSIL 是唯一的方法吗?你如何处理这些?

我花了几个小时在线研究工具,使我能够从字节数组中的 IL 生成 C# 代码(至少是一些基础知识)。真的没有吗?

如果那里存在某些东西会很棒,使用上面的一些基本 MSIL 可以生成 a + b。