C# 方法组类型推断

2023-12-22

我正在尝试编写一个提供参数并调用函数的通用方法,如下所示:

class MyClass {
    public int Method(float arg) => 0;
}

TResult Call<T1, TResult>(Func<T1, TResult> func) =>
    func(default(T1));

void Main()
{
    var m = new MyClass();
    var r1 = Call<float, int>(m.Method);
    var r2 = Call(m.Method); // CS0411
}

最后一行无法编译CS0411 https://msdn.microsoft.com/en-us/library/hxfhx4sy(v=vs.140).aspx。有什么解决方法可以让类型推断在这里起作用吗?

用例:使用 AutoFixture 生成函数调用参数。


不幸的是,不是,这是 C# 中类型推断的限制。它实际上对返回类型没有多大作用,这是您的情况下需要完全推断通用参数的Call<>.

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

C# 方法组类型推断 的相关文章

  • 结构化绑定中缺少类型信息

    我刚刚了解了 C 中的结构化绑定 但有一件事我不喜欢 auto x y some func is that auto正在隐藏类型x and y 我得抬头看看some func的声明来了解类型x and y 或者 我可以写 T1 x T2 y
  • BASIC 中的 C 语言中的 PeekInt、PokeInt、Peek、Poke 等效项

    我想知道该命令的等效项是什么Peek and Poke 基本和其他变体 用 C 语言 类似PeekInt PokeInt 整数 涉及内存条的东西 我知道在 C 语言中有很多方法可以做到这一点 我正在尝试将基本程序移植到 C 语言 这只是使用
  • 在模板类中声明模板友元类时出现编译器错误

    我一直在尝试实现我自己的链表类以用于教学目的 我在迭代器声明中指定了 List 类作为友元 但它似乎无法编译 这些是我使用过的 3 个类的接口 Node h define null Node
  • C# 异步等待澄清?

    我读了here http blog stephencleary com 2012 02 async and await html that 等待检查等待的看看它是否有already完全的 如果 可等待已经完成 那么该方法将继续 运行 同步
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 通过引用传递 [C++]、[Qt]

    我写了这样的东西 class Storage public Storage QString key const int value const void add item QString int private QMap
  • 为什么 GCC 不允许我创建“内联静态 std::stringstream”?

    我将直接前往 MCVE include
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • 无限循环与无限递归。两者都是未定义的吗?

    无副作用的无限循环是未定义的行为 看here https coliru stacked crooked com view id 24e0a58778f67cd4举个例子参考参数 https en cppreference com w cpp
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • Visual Studio 2015 调试并继续

    我们将环境从 Visual Studio 2008 更改为 2015 更新 1 现在我们遇到了一些奇怪的调试行为 当我们遇到断点并更改一些代码并继续时 我们无法再在快速监视或立即窗口中看到某些类型的变量内容 例如数据表 图像 A type
  • 如何测试 PHP 程序? [复制]

    这个问题在这里已经有答案了 有没有办法测试程序代码 我一直在研究 PHPUnit 它似乎是创建自动化测试的好方法 然而 它似乎是面向面向对象的代码 是否有过程代码的替代方案 或者我应该在尝试测试网站之前将网站转换为面向对象 这可能需要一段时
  • System.Text.Json 将字典序列化为数组

    是否可以使用 System Text Json 将字典序列化 和反序列化 为数组 代替 hello world 我需要将我的字典序列化为 key hello value world 最好不必在我的类的字典属性上设置属性 使用 newtons
  • 在Python中的图像中的表格上创建边框

    我有一个图像 其中有一个表格和一些其他数据 我需要为表格绘制边框以分隔每个单元格 My image looks like this What i am trying 1 dilating the image to create contin
  • java读取上传文件的内容

    我知道如何上传文件
  • 如何拦截自定义 HTTP 标头值并将其存储在 Wicket 的 WebSession 中?

    我需要从每个请求中获取特定的自定义 HTTP 标头值并将其放入 WebSession 中 以便以后可以在任何网页上使用它 我相信 Wicket 的方法是使用一个自定义类来扩展具有适当访问器的 WebSession 我的问题是 我需要什么样的
  • Iphone SDK,从 UIImage 创建视频

    我需要根据所选图像创建视频 我有代码它应该可以工作 但在附加缓冲区时给出错误 这就是两种类型图像的保存方式 void imagePickerController UIImagePickerController picker didFinis
  • 多个控制器和指令之间的通信

    我有一个支持 HTML5 Canvas 可视化的指令 该指令具有多种方法来修改可视化的不同部分 问题是具有不同父 子 兄弟关系的多个控制器需要与该指令进行通信 现在我已经将这种非常糟糕的方式连接起来 将事件发送到指令的父控制器 然后将它们广
  • Magento 1.7:在 2 列模板中以全宽显示类别页面上的类别图像

    无法找到运行 Magento 1 7 时此问题的解决方案 上面主栏中显示的类别 我想将其显示在两列上方的页面宽度上 这是一个例子 http www vimodos nl schoenen art sex 92 http www vimodo
  • 在struts 2中调用带参数的方法?

    我在 struts 2 动作类中给出了下面的方法 public String add String boo codes here 我想调用add方法 还有我的struts xml
  • 如何在 PHP 中对数字进行四舍五入

    我经营一个 woocommerce 网站 重量以磅为单位 我需要将它们转换为公斤 我从网站下载了这个脚本 它完成了这项工作 但它设置了带有很多小数的新权重 不知道如何四舍五入 我试图使用round new weight 2 但它没有接受或不
  • 串口未接收到任何数据

    我正在开发需要与 COM 端口交互的程序 通过本次问答了解到 NET SerialPort DataReceived 事件未触发 https stackoverflow com questions 2281618 net serialpor
  • 如何避免用户提交的MySQL数据库存储重复的内容

    我正在创建一个网站 允许用户列出最多 5 家与他们关联的公司 当其他用户搜索这些公司时 与该公司关联的所有用户都会显示在搜索结果中 用户将通过文本输入字段提交这些公司 如何避免用户提交重复的公司 例如 如果UserA提交了一家名为stack
  • 将所有存储过程和函数从一个 SQL Server 一次性复制到另一个 SQL Server 的最简单方法

    我需要将所有存储过程和函数立即从一个 SQL Server 数据库复制到另一个数据库 有可能吗 在 SQL Server Management Studio 中 转到对象资源管理器 找到你的数据库 右键单击它 gt Tasks gt Gen
  • ThreeJS collada 文件未居中

    我是 ThreeJS 的新手 我正在尝试将 collada 文件加载到查看器中 我首先复制 Elf colladaLoader 演示的代码 https trijs org examples webgl loader collada http
  • 使用 OpenCV 进行视频稳定

    我有一个用移动摄像机拍摄的视频 其中包含移动的物体 我想稳定视频 以便所有静止物体在视频源中保持静止 我怎样才能做到这一点OpenCV 即 例如 如果我有两个图像 prev frame 和 next frame 我该如何转换下一帧所以摄像机
  • 在多个画布中无缝绘图

    我正在尝试使用 JS 和 Canvas 元素制作一个简单的绘图工具 我的问题是我想要几个画布 并且用户应该能够在所有画布上画一条线 这是我做的一个小页面
  • 如何比较表中的数据(操作前和操作后)?

    有没有免费的工具或方法可以了解数据库表中发生了什么变化 您可以在更新之前复制一份 CREATE TABLE t2 AS SELECT FROM t1 运行您的更新 然后展示差异 用它来显示更新 SELECT FROM t1 MINUS SE
  • 科技行业的开发人员普遍认为混合移动应用程序不如本机应用程序吗?

    在一个大学项目中 我的团队计划开发一款适用于 Android 的云消息应用程序 最初 我们通过研究和使用 Ionic Framework 和 Phonegap 创建混合应用程序来开始开发 根据到目前为止我们所阅读和了解的内容 我们所理解的混
  • C# 方法组类型推断

    我正在尝试编写一个提供参数并调用函数的通用方法 如下所示 class MyClass public int Method float arg gt 0 TResult Call