如何获取通用扩展方法的MethodInfo?

2023-11-21

我有一个IEnumerable<T>,我想打电话给Enumerable.Contains通过反射的方法。我只是努力让语法正确。这是我目前拥有的:

var containsMethod = typeof(Enumerable).GetMethod("Contains", 
  new[] {
    typeof(IEnumerable<T>), 
    typeof(T) 
  });

这只是返回一个空值。

正确的获取方法是什么MethodInfo?


获取 MethodInfo 的正确方法是什么?

你必须找到generic方法 - 不幸的是有点痛苦 - 然后用适当的参数构造它。在这种情况下,您知道只有 2 个Contains重载,而你想要的有两个参数,所以你可以使用:

var method = typeof(Enumerable).GetMethods()
                               .Where(m => m.Name == "Contains")
                               .Single(m => m.GetParameters().Length == 2)
                               .MakeGenericMethod(typeof(T));

然后您应该能够适当地调用它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取通用扩展方法的MethodInfo? 的相关文章

  • 自动从 C# 代码进行调试过程并读取寄存器值

    我正在寻找一种方法来读取某个地址的 edx 注册表 就像这个问题中所问的那样 读取eax寄存器 https stackoverflow com questions 16490906 read eax register 虽然我的解决方案需要用
  • 如何在 Unity 中从 RenderTexture 访问原始数据

    问题的简短版本 我正在尝试访问 Unity 中 RenderTexture 的内容 我一直在使用 Graphics Blit 使用自己的材质进行绘制 Graphics Blit null renderTexture material 我的材
  • 模板类的不明确多重继承

    我有一个真实的情况 可以总结为以下示例 template lt typename ListenerType gt struct Notifier void add listener ListenerType struct TimeListe
  • 如何使用 LINQ 获取唯一 id 列的最大值

    如何使用 LINQ 以最简单的方式编写此代码 SELECT MAX Game id AS MaxValue FROM Dim Game Try context Dim Games Max g gt g Game id
  • C++ 求二维数组每一行的最大值

    我已经设法用这个找到我的二维数组的每一行的最小值 void findLowest int A Cm int n int m int min A 0 0 for int i 0 i lt n i for int j 0 j lt m j if
  • 如何在C++中实现模板类协变?

    是否可以以这样一种方式实现类模板 如果模板参数相关 一个对象可以转换为另一个对象 这是一个展示这个想法的例子 当然它不会编译 struct Base struct Derived Base template
  • FFMPEG Seeking 带来音频伪影

    我正在使用 ffmpeg 实现音频解码器 在读取音频甚至搜索已经可以工作时 我无法找到一种在搜索后清除缓冲区的方法 因此当应用程序在搜索后立即开始读取音频时 我没有任何工件 avcodec flush buffers似乎对内部缓冲区没有任何
  • C# 中可空类型是什么?

    当我们必须使用nullable输入 C net 任何人都可以举例说明 可空类型 何时使用可空类型 https web archive org web http broadcast oreilly com 2010 11 understand
  • 如何在 WPF RichTextBox 中跟踪 TextPointer?

    我正在尝试了解 WPF RichTextBox 中的 TextPointer 类 我希望能够跟踪它们 以便我可以将信息与文本中的区域相关联 我目前正在使用一个非常简单的示例来尝试弄清楚发生了什么 在 PreviewKeyDown 事件中 我
  • 使用 C# 在 WinRT 中获取可用磁盘空间

    DllImport kernel32 dll SetLastError true static extern bool GetDiskFreeSpaceEx string lpDirectoryName out ulong lpFreeBy
  • A* 之间的差异 pA = 新 A;和 A* pA = 新 A();

    在 C 中 以下两个动态对象创建之间的确切区别是什么 A pA new A A pA new A 我做了一些测试 但似乎在这两种情况下 都调用了默认构造函数 并且仅调用了它 我正在寻找性能方面的任何差异 Thanks If A是 POD 类
  • 我的 strlcpy 版本

    海湾合作委员会 4 4 4 c89 我的程序做了很多字符串处理 我不想使用 strncpy 因为它不会终止 我不能使用 strlcpy 因为它不可移植 只是几个问题 我怎样才能让我的函数正常运行 以确保它完全安全稳定 单元测试 这对于生产来
  • C 中的位移位

    如果与有符号整数对应的位模式右移 则 1 vacant bit will be filled by the sign bit 2 vacant bit will be filled by 0 3 The outcome is impleme
  • 如何构建印度尼西亚电话号码正则表达式

    这些是一些印度尼西亚的电话号码 08xxxxxxxxx 至少包含 11 个字符长度 08xxxxxxxxxxx 始终以 08 开头 我发现这个很有用 Regex regex new Regex 08 0 9 0 9 0 9 0 9 0 9
  • 方法参数内的变量赋值

    我刚刚发现 通过发现错误 你可以这样做 string s 3 int i int TryParse s hello out i returns false 使用赋值的返回值是否合法 Obviously i is but is this th
  • Bing 地图运行时错误 Windows 8.1

    当我运行带有 Bing Map 集成的 Windows 8 1 应用程序时 出现以下错误 Windows UI Xaml Markup XamlParseException 类型的异常 发生在 DistanceApp exe 中 但未在用户
  • 更改显示的 DPI 缩放大小使 Qt 应用程序的字体大小渲染得更大

    我使用 Qt 创建了一些 GUI 应用程序 我的 GUI 应用程序包含按钮和单选按钮等控件 当我运行应用程序时 按钮内的按钮和字体看起来正常 当我将显示器的 DPI 缩放大小从 100 更改为 150 或 200 时 无论分辨率如何 控件的
  • 通用类不会将委托调用转发给具体子类

    鉴于以下情况 protocol EntityType var displayString String get extension String EntityType var displayString String return self
  • 将 viewbag 从操作控制器传递到部分视图

    我有一个带有部分视图的 mvc 视图 控制器中有一个 ActionResult 方法 它将返回 PartialView 因此 我需要将 ViewBag 数据从 ActionResult 方法传递到 Partial View 这是我的控制器
  • 为什么 strtok 会导致分段错误?

    为什么下面的代码给出了Seg 最后一行有问题吗 char m ReadName printf nRead String s n m Writes OK char token token strtok m 如前所述 读取字符串打印没有问题 但

随机推荐

  • 创建网站的移动版本

    我正在寻找创建我们网站 网络应用程序的移动版本 有什么好方法可以提供最好的 功能最全的版本 创建它的部分原因是而不是 iPhone 应用程序 所以我想提供一个 iPhone Web 应用程序 充分利用 iPhone 版本的 WebKit 因
  • 嵌套 if 语句和“&&”运算符

    if a b c d doSomething if a if b if c if d doSomething 这两者之间有 任何 性能差异吗 例如 当a 变为0的情况下 它会继续运行第一个if语句中的b c 和d 吗 或者它的工作方式与第二
  • c 中右值存储在哪里?

    在C中 我有这段代码 int a a 10 5 3 我想问 10 5 3 存放在哪里 据我所知 a位于堆栈上 怎么样 10 5 3 这个右值是如何计算的 通常 右值 存储 在程序本身内 换句话说 编译器本身 在程序运行之前 计算 10 5
  • 为CDK中的资源添加条件

    我创建了一个将部署在多个区域的 CDK 堆栈 其中一个构造只能部署在一个区域 在 Cloudformation 中 我只需向资源添加一个条件 但我还没有找到一种方法来对 CDK 构造执行类似的操作 可以定义一个CfnCondition并将其
  • 精确控制 GLSL 中的纹理位

    我正在尝试使用 OpenGL 和 GLSL 实现八叉树遍历方案 并且希望将数据保留在纹理中 虽然纹理数据有多种格式可供选择 不同大小的浮点数和整数 但我在弄清楚是否有一种方法可以更精确地控制位 从而实现更高的效率和紧凑的存储方面遇到了一些麻
  • 如何计算jquery中mousedown事件期间的时间?

    我试图在 mousedown up 事件上的一个按钮上执行 2 个不同的功能 但它不起作用 因为我无法检测 mousedown 事件的时间 var flag ClikerButton mousedown function e if mous
  • 获取目录中文件的数量

    如何统计目录中的文件数 我在类参考中找不到任何相关内容NSFileManager contentsOfDirectoryAtPath error 返回一个NSArray 只需发送count到数组
  • LLDB (Swift):将原始地址转换为可用类型

    是否有一个 LLDB 命令可以将原始地址转换为可用的 Swift 类 例如 lldb po 0x7df67c50 as MKPinAnnotationView 我知道这个地址指向 MKPinAnnotationView 但它不在我可以选择的
  • 为什么 pandas DataFrame 可以互相改变?

    我试图保留 pandas DataFrame 的副本 以便我可以在保存原始数据的同时对其进行修改 但是当我修改副本时 原始数据框也会发生变化 前任 df1 pd DataFrame col1 a b c d col2 1 2 3 4 df1
  • onCompleted 可以与 useMutation 一起使用吗?

    我在 React 项目中使用 useMutation 钩子 突变运行成功 但之后未达到 onCompleted 我已在突变中将notifyOnNetworkStatusChange 设置为true 但这似乎没有帮助 const create
  • OnClickListener - 事件的 x,y 位置?

    我有一个从 View 派生的自定义视图 我希望在单击视图时收到通知 以及单击发生的 x y 位置 长按也是如此 看起来像这样做 我需要覆盖onTouchEvent 有没有办法从事件的 x y 位置OnClickListener相反 但是 如
  • map_partitions的返回值是多少?

    dask API 表示 map partition 可用于 在每个 DataFrame 分区上应用 Python 函数 根据此描述并根据 map 的通常行为 我期望 map partitions 的返回值是 类似于 一个长度等于分区数量的列
  • 找出最新术语和第二个最新术语之间的差异

    表的结构就像 create table events event type integer not null value integer not null time timestamp not null unique event type
  • Flutter 无法从剪贴板读取

    我来询问一个关于 Flutter 和 Future 的非常具体的问题 并等待机制 这似乎有效 但我的剪贴板在使用可编辑文本字段操作时并没有真正起作用 即使遵循 Google 关于实现的建议 这是我的粘贴代码 onPressed async
  • 如何在 IE(9+) 和 Safari (Pad) 中播放带有 HTML5 音频的 .m4a?

    我需要在 IE 9 和 Safari iPad iPhone 中播放 m4a 文件 在 iPhone 上录制 我在设置正确的 MIME 类型时遇到问题 为了在 IE10 中播放 我需要设置audio mp4但对于 Safariaudio a
  • 什么是正则表达式平衡组?

    我刚刚读到一个关于如何在双花括号内获取数据的问题 这个问题 然后有人提出了平衡组 我仍然不太确定它们是什么以及如何使用它们 我通读了平衡组定义 但解释很难理解 而且我对我提到的问题仍然很困惑 有人可以简单解释一下平衡组是什么以及它们有什么用
  • 在 Linux 上提取 TCP 往返时间 (RTT) 估计

    我有在 Ubuntu 上运行的 apache 服务器 客户端连接并下载图像 我需要提取底层 TCP 连接的 RTT 估计 有没有办法做到这一点 也许像在调试模式下运行我的 tcp 堆栈以让它在某处记录此信息之类的东西 请注意 我不想运行 t
  • 比较对象数组,与顺序无关

    我有 2 个对象数组 我必须比较它们 但是对象的顺序DOES NOT事情 我无法对它们进行排序 因为我没有它们的键名称 因为这些函数必须是通用的 我将获得的有关该数组的唯一信息是两个数组的对象具有相同数量的键 并且这些键具有相同的名称 因此
  • 即使模型值为空,TextBoxFor Helper 也会保留以前的值

    我有一个用于添加简单实体的 MVC 表单 我正在使用 TextBoxFor model gt model FieldName 创建输入字段 我有一个 保存 按钮和一个 保存并新建 按钮 保存和新建 按钮应该回发到 保存 操作 然后返回带有空
  • 如何获取通用扩展方法的MethodInfo?

    我有一个IEnumerable