问题标签 [dynamic-method]

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 回答
1439 浏览

dart - 有没有办法在 Dart 的类中动态调用方法或设置实例变量?

我希望能够用 Dart 类构造函数做这样的事情:

显然,这是行不通的,因为this没有[]=方法。

有没有办法让它发挥作用,或者它根本就不是做事的“飞镖方式”?如果不是,你能告诉我什么是解决这个问题的正确方法吗?

0 投票
2 回答
1129 浏览

c# - 从 C# 源代码发出 IL OpCodes

如何解析 C# 源代码以生成可在 DynamicMethod 中使用的 IL 操作码?

我想动态执行代码而不生成不必要的程序集。像这样的东西:

0 投票
1 回答
664 浏览

c# - DynamicMethod.Invoke 或 DynamicMethod.CreateDelegate+Invoke - 哪个更快?

以下哪项提供更好的性能:

或者

请注意,通常会创建 10 或 100 种不同的 DynamicMethod,并且每个 DynamicMethod(通过存储的 'dm' 或 'del' 的哈希表)将被多次调用。

0 投票
0 回答
204 浏览

c# - DynamicILInfo.GetTokenFor(MethodHandle,RuntimeTypeHandle) 不适用于可变参数方法调用

考虑以下代码:

似乎这DynamicILInfo.GetTokenFor(MethodHandle,RuntimeTypeHandle)不适用于可变参数方法调用(TestMethodVarArgs上面代码中的调用)。如果我执行动态方法,它会给出“JIT 编译器遇到内部限制”异常。

这是一个错误吗?局限性?有没有解决的办法?

0 投票
1 回答
70 浏览

.net - 向 CLR 的 DynamicMethod 添加状态的最简单方法是什么?

我正在使用 DynamicMethod 进行一些代码生成,我有一个问题可以通过添加一个小状态来轻松解决,比如一个字段。不幸的是,我无法将此状态推送到方法的参数之一中,所以我基本上需要关闭像这个小 lambda 这样的本地:

最简单的方法是什么?

0 投票
1 回答
181 浏览

ruby-on-rails - 在 Rails 中为键/值对实现动态方法

假设我有一个名为“options”的数据库表,对应的模型名为 Option。该表的结构很简单,如下...

示例数据行可能如下...

我想要的是我应该可以访问所有选项(键)作为方法名称。

例如,如果执行以下操作...

是否可以访问@options.default_view应该将值返回为“每日”的数据,并且类似地@options.show_registration_number应该将值返回为 0。

此外,如果可能的话,是否允许修改,例如是否@options.default_view = 'MONTHLY'应该更新数据库中的相应记录。

0 投票
1 回答
47 浏览

python-2.7 - 如何让动态添加的函数访问动态添加的属性

我有一个向其中添加动态属性的泛型类,并且我想向实例动态添加方法,因为某些实例将具有不同的方法,但它们需要访问这些动态属性。

我该怎么做呢?

在我的逻辑中,当我构建这些通用组件时,我有类似的东西,因此对于不同的实例,我将拥有相同的方法名称,但其中的逻辑是不同的。

不幸的是,当我打电话时obj.toString()它不会看到obj.name

0 投票
5 回答
31455 浏览

ruby - Ruby 中的动态方法调用

据我所知,在 Ruby 中动态调用方法有以下三种方法:

方法一:

方法二:

方法三:

通过对它们进行基准测试,我确定方法 1 是迄今为止最快的,方法 2 较慢,而方法 3 是迄今为止最慢的。

我还发现,.call两者.send都允许调用私有方法,而不允许调用eval

所以我的问题是:有任何理由使用.sendoreval吗?为什么你不总是只使用最快的方法?这些调用动态方法的方法还有哪些其他区别?

0 投票
1 回答
567 浏览

ruby-on-rails - 访问环境变量

我正在设置以下环境变量。

有没有其他方法可以访问这个环境变量ENV["RAILS_RELATIVE_URL_ROOT"]?我知道 rails env 可以像Rails.env. 所有的 env 变量都可以像这样访问吗?或者它对 rails_env 有什么特别的吗?

0 投票
1 回答
150 浏览

c# - Getting an error when I try to use DynamicMethod to create a method that always returns true

Today, I started learning about the DynamicMethod class. For learning purposes, I set about to use DynamicMethod to create a function that takes no argument and always returns the boolean value true.

I created a function to do this in C# and then examined the resulting IL code with Telerik JustDecompile.

It looks simple enough. According to the documentation, it looks like these instructions simply place an integer 1 on the stack to be returned.

Following along with some of the examples I've looked at, I wrote the following Console Application.

However, when I run this code, the following exception is raised on ReturnTrueDelegate();

What does this exception mean and what do I do to fix this?