问题标签 [methodinfo]
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.
c# - 获取 MethodInfo 签名
假设您有一个与方法 myMethod 相关的 MethodInfo:
并且您想创建一个表示方法签名的字符串:
通过 MethodInfo 参数循环,我能够通过调用参数类型的 ToString 方法来实现这些结果:
我怎样才能改进这一点并产生上面显示的结果?
c# - 从 MethodInfo 创建委托
我目前在尝试从MethodInfo
. 我的总体目标是查看类中的方法并为标记有特定属性的方法创建委托。我正在尝试使用CreateDelegate
,但出现以下错误。
无法绑定到目标方法,因为其签名或安全透明度与委托类型的不兼容。
这是我的代码
actionscript-3 - AS3:错误 MethodInfo-26 和 25
我在 AS3 中制作了一个游戏,我有 2 个文件。一种是 HWMain 和 HWGame。当我单击开始按钮时,脚本从 HWMain 切换到 HWGame,但出现此错误。
这是我的代码。
我尝试修复它,我认为错误出现在 gameState = INIT_STATE。我该怎么办?
谢谢。
c# - 找不到方法
嗨,我有包含方法的对象:
当我试图找到这种方法时:
方法信息为空
我看不出问题出在哪里-我还尝试使用参数找到此方法:
但它也不起作用,谢谢!
c# - 来自 ExpandoObject 的 MethodInfo
我知道以前在这里要求对 ExpandoObjects 进行反射。
我的问题有点不同。我有静态和动态函数,应该从类似于object ExecuteFunction(string name, params object[] parameters)
.
我通过反射执行静态函数。所以问题是,我是否可以重用 MethodInfo 调用并从 ExpandoObject 中获取 MethodInfo 对象?还是我必须实现 2 个功能(一个 withAction
和一个 with MethodInfo
)?
c# - Lambda 表达式> 和方法信息
在将项目从 VS2010 迁移到 VS2012 时,我遇到了以下问题。该项目大量使用反射,为了从接口获取 MethodInfo,放置了以下代码:
使用 VS2010 编译时效果很好,但如果代码使用 VS2012 编译,目标是 .Net 4.0,则 methodCallExpression.Arguments.Count() 为 2。
反编译后,我注意到编译器为同一个表达式生成了不同的代码。
这是一个设计问题,因为设计不应该像 methodCallExpression.Arguments[2] 上的数字 2 那样依赖“幻数”。我尝试使用以下方法找到解决方案:
但 outermostExpression 为空。
最后,我让它改变表达式如下:
它并不理想,但它适用于 VS2010 和 VS2012。
有没有办法从如下表达式中找到 MethodInfo:
c# - 如何通过反射获取泛型参数的类型
我需要通过反射获取泛型参数的泛型类型。但真正的类型,而不是类型 { Name="T" ; 全名=空}
但我不能使用 typeof(T),因为我正在使用反射
有没有办法(使用反射)来获取泛型参数的类型类型。
在其他方面,我想知道如何调用 typeof(T) ex 调用的方法:
我如何从 T 泛型参数中获取 RuntimTypeHandle
invoke - 从 methodInfo.invoke 获取返回值
如何(int)
从 a获取返回值methodInfo.invoke
?
让我感到困难的是我使用字符串变量来调用该方法。
检查以下示例:
我能做些什么?任何帮助,将不胜感激。
c# - 坚持 MethodInfo 作为属性
我正在创建一个自定义 BindingSource 并希望将 MethodInfo 保留为私有字段。问题,在代码中:
我成功存储了 MethodInfo,但是,当我尝试使用它时,它最终为空。没有调用特殊的构造函数(覆盖该字段)。OnBindingComplete 不会被调用两次。似乎没有什么暗示其他东西将其设置为空。
c# - 如何保存 MethodInfo 指针并稍后调用该函数?
C#/CIL/Reflection.Emit 问题:
我正在尝试定义一个具有函数指针的类型,实例化该类型,在另一种类型上创建一个静态方法(因为我不知道如何制作“只是一个函数”),给一个指向这个静态方法的指针到实例,然后使用该指针调用函数。
我几乎没有成功。:-(
这是类型:
到目前为止一切顺利(我认为)。然后我创建其中一个并分配函数指针:
据我所知,这部分工作得很好。问题出在其他地方,当我尝试调用它时:
如果我尝试运行由此创建的程序,我会在执行任何字节码之前出错(或者至少它是这样显示的):
相反,如果我用代码替换 EmitCalli() 以简单地弹出函数指针和参数并推送一个数字,则程序的其余部分工作正常。那么我应该如何调用这个函数呢?
非常感谢。:-)