gpt4 book ai didi

c# - 在 C# .NET 中使用 Lambda 进行模糊调用

转载 作者:行者123 更新时间:2023-12-04 13:04:54 25 4
gpt4 key购买 nike

我有一个带有重载方法的类:

MyClass.DoThis(Action<Foo> action);
MyClass.DoThis(Action<Bar> action);

我想将 lambda 表达式传递给 Action 版本:
MyClass.DoThis( foo => foo.DoSomething() );

不幸的是,Visual Studio 无法正确区分 Action<Foo> 之间的区别。和 Action<Bar>版本,由于围绕“foo”变量的类型推断——因此它引发了编译器错误:

The call is ambiguous between the following methods or properties: 'MyClass.DoThis(System.Action<Foo>)' and 'MyClass.DoThis(System.Action<Bar>)'



解决这个问题的最佳方法是什么?

最佳答案

MyClass.DoThis((Foo foo) => foo.DoSomething());

关于c# - 在 C# .NET 中使用 Lambda 进行模糊调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2253835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com