c# - 如何显式定义匿名方法符合什么签名?

标签 c# c#-4.0 lambda anonymous-methods

我声明了两个方法

public void MethodA(object o, Action<string> action) { }
public void MethodA(object o, Action<CustomType> action) { }

如何使用匿名方法调用这些函数?我知道我可以传递一个指向方法的指针,但我有兴趣使用匿名方法这样做吗?目前我收到错误消息“Ambitious call between...”

MethodA(this, c => { }); // how to explicitly say that C is of type CustomType?

最佳答案

MethodA(this, (CustomType c) => { });

或者如果您想将委托(delegate)类型显式声明为 Action<CustomType> :

MethodA(this, (Action<CustomType>)(c => { }));

关于c# - 如何显式定义匿名方法符合什么签名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11118370/

相关文章:

没有模板的 C++11 内联 lambda 函数

c# - 在 umbraco 中构建 Linq 查询

c# - 数据表行数限制

java - 在 Java 中使用 lambda 作为类的方法

c# - 使用自引用表更新 LINQ 记录时出现 StackOverFlowException

c# - 动态类型的默认值?

c# - Linq 表达式和 "Not Contains"查询

c# - 随机字符串生成 - 避免重复

c# - WPF 在列表框中选择时更改数据模板的视觉状态

c# - 依赖注入(inject)替代方案