gpt4 book ai didi

c# - C# 中不兼容的匿名函数签名?

转载 作者:行者123 更新时间:2023-11-30 19:10:52 24 4
gpt4 key购买 nike

我想创建一个可以在对象上调用的扩展方法。

返回值将由函数定义。

像这样:(这只是一个例子)

bool isMature= thePerson.Age.Apply<bool>(d =>   {    if (d >18) return true;
return false;
})

这是扩展方法:

  public static Tout Apply<Tout>(this Object obj, Func< Tout> f)  
{

return f( );
}

错误:不兼容的匿名函数签名

我做错了什么?

最佳答案

您的方法只需要 Func<Tout> - 这是一个函数接受没有参数,但返回一个值。

您的 lambda 表达式有一个参数 ( d ) - 看起来您假设它是一个整数。目前尚不清楚您要做什么,但如果您想在 lambda 表达式中使用参数,则必须更改 Func<TResult> 中的签名至 Func<TArg, TResult>或类似的东西 - 并在调用中提供一个参数。

关于c# - C# 中不兼容的匿名函数签名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14733847/

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