问题标签 [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# - 使用 lambda 表达式指定方法的参数
给定MethodInfo
一个方法,我如何使用 lambda 表达式来指定参数 ( ParameterInfo
)?
例如,给定以下方法签名:
我想要一个方法:
这将像这样被调用:
这可能吗?
c# - Type.GetMethod with a Generic 重载 - 获取 Generic MethodInfo 而不遍历所有方法
我有两个功能:
public void DeleteRecord(int id);
public T DeleteRecord<T>(int id);
这是我尝试动态调用泛型方法的方法:
第一行抛出异常,因为它找到了一个模棱两可的定义。有没有一种方法可以在不使用和循环查询结果的情况下获得MethodInfo
通用方法?GetMethods
IsGenericMethod
编辑:请删除“重复”,因为建议的两个答案要么通过内部循环(GetMethods().Select...)解决此问题,要么甚至不解决重载问题。
c# - 创建 C# 属性以抑制方法执行
我希望创建一个自定义属性来抑制方法在 C# 中执行,即使它被调用。例如,在下面的代码块中,如果方法具有“Skip”属性,则即使从 Main 调用它也不应执行。
如何在 C# 中使用反射来实现这一点?
在下面的代码片段中,我设法提取了带有 Skip 属性的方法,我只是不知道如何阻止它们执行!
任何在正确方向上的帮助或建议都是最受欢迎的:)
c# - 获取方法参数的值,无论它们的数量或类型 C#
我想获取任何方法的参数值,即使它们使用 C# 具有不同数量的参数,例如,如果您有以下 3 个方法:
因此在 getParameters 方法中,它将采用方法名并以字符串列表的形式返回参数的值,而不管参数的数量是否存在。
我达到了可以获取参数数量但没有值的程度,如下所示
更新:
我通过使用 (params object[] values) 作为方法参数找到了另一种方法,如下所示
c# - 从 DLL 中获取程序的程序集
我想访问附加了 DLL 的程序的功能。
在我尝试过的 DLL 中:
但不起作用我得到一个空异常但没有说这条线。正在运行的程序被调用,命名空间是'Uranium',类是'Util',函数是'SendClient'。
c# - 使用反射从类型成员中调用方法
我有一个 Person 类,其中包含该人的母亲和该人的父亲的字段。我想从人员实例的成员中调用一个名为“WriteName”的方法。
我怎样才能通过反射做到这一点?
我想要这个输出:
编辑:
我更改后的正确代码是:
c# - MethodInfo.Invoke TargetException
我有 System.Reflection 的问题,当我调用 MethodInfo.Invoke 方法时,它给了我 TargetException 异常,上面写着:对象与目标不匹配,这里的代码:
任何想法?PS:游戏对象已正确分配,因此它不为空
c# - .NET 反射 - 声明 MethodInfo.ReturnType 类型的变量
我正在使用反射来调用 WCF 服务:
所以,我希望本地result
是一种resultType
,但这段代码会产生智能感知错误“无法解析符号结果类型”
c# - 如何为“Where”扩展方法获取正确的 MethodInfo
我正在尝试使用反射返回正确的“Where”扩展方法,以构建自定义表达式。我尝试了几种方法,但我得到的最接近的方法抛出异常:“在 mscorlib.dll 中发生'System.Reflection.AmbiguousMatchException' 类型的未处理异常”
我知道这是因为在 Enumrable 类中定义了两个 Where 方法 - 但是我怎样才能返回只使用谓词的 Where 方法
我目前拥有的是:
我也试过(这个返回null):
和(也返回 null)
和(这个返回相同的歧义异常)
任何人都可以帮忙吗?
谢谢
c# - MethodInfo.Invoke 与 params 参数
我有一个HelperMethods
包含静态方法的静态类。我需要在包含 的程序集中动态调用一个方法HelperMethods
,但是这个程序集有时是可用的。所以我不能对包含我需要的方法的程序集进行引用。我也不能复制这个方法的代码,因为它会生成一个我需要的自定义对象SpecificServiceHost
,ServiceHost
但代码的另一部分只需要知道它是一个ServiceHost
对象。如果SpecificServiceHost
不可用,该方法只会创建一个常规ServiceHost
对象。
现在createServiceHost.Invoke
抛出一个异常,该异常baseAddresses
一定不是null
由于ServiceHost
框架中的实现。我认为该params
论点将允许null
引用。但事实并非如此!我应该怎么办?谢谢!