gpt4 book ai didi

c# - 无法将类型 'void' 隐式转换为 System.Action

转载 作者:行者123 更新时间:2023-11-30 21:42:36 24 4
gpt4 key购买 nike

我正在尝试使用输入参数 int 创建 .net 标准委托(delegate) Action。但是我越来越

Cannot implicitly convert type 'void' to System.Action.

我了解到可以将相同的返回类型方法添加到多播委托(delegate)。下面是我的代码。这段代码有什么问题?如果我编写 lambda 表达式,我不会看到编译错误。

static void Main(string[] args)
{
Action<int> AddBook = AddBookwithId(15); // Here is the error
AddBook += x => Console.WriteLine("Added book with :{0}" , x ); // No compile error here
AddBook += AddBookwithISBN(56434);// of course, the same error here too.
}

public static void AddBookwithId(int y)
{
Console.WriteLine( "Added Book to the shelf with the ID : {0} ", y );
}

public static void AddBookwithISBN(int y)
{
Console.WriteLine("Added Book to the shelf with the ISBN: {0} ", y + 2);
}

最佳答案

下面的代码编译...当调用 Action 时,预期传递整数。

       Action<int> AddBook = AddBookwithId; // Here is the error
AddBook += x => Console.WriteLine("Added book with :{0}", x); // No compile error here
AddBook += AddBookwithISBN;// of course, the same error here too.

关于c# - 无法将类型 'void' 隐式转换为 System.Action<int>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42423411/

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