gpt4 book ai didi

c# - 奇怪的 C# 编译器错误

转载 作者:行者123 更新时间:2023-12-02 10:45:44 32 4
gpt4 key购买 nike

有人可以帮我解决这个编译器错误吗?

我有这样的课

public class Test {
public delegate void TestAction<T>(T arg);
public delegate void TestActionCaller<T1, T2>(T1 arg, TestAction<T2> action);

public static void Call<T1,T2>(TestActionCaller<T1,T2> actioncaller) {
actioncaller(default(T1), arg => { });
}
}

然后我有以下代码
public class TestCaller {
static TestCaller() {
Test.Call<int, int>((arg,action)=>action(arg));
}
}

这工作正常。

但是,如果我将 TestCaller 移动到另一个程序集(与上面的代码完全相同),我会收到编译器错误“Delegate 'TestAction' does not take '1' arguments。”

最佳答案

我相信编译器无法推断参数,您需要明确指定它们的类型:

Test.Call((int arg, TestAction<int> action) => action(arg));

关于c# - 奇怪的 C# 编译器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1734387/

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