所以说我有一个我已经重载的方法。一个接受一个返回 uint 的函数,一个接受一个返回 int 的函数。
static void test1(Func<uint> f)
{
//things
}
static void test1(Func<int> f)
{
// also things
}
现在我试着这样称呼它:
test1(Random.FunctionThatReturnsUints);
但我在编译时得到一个模棱两可的调用错误:
Error 4 The call is ambiguous between the following methods or
properties: 'RNG_Comparison.Run.test1(System.Func<int>)' and 'RNG_Comparison.Run.test1
(System.Func<uint>)'
那是怎么回事?重载函数的全部意义不在于它基于类型隐含地理解您的意思吗?我的意思是,如果我用返回 BigInt 之类的 func 来调用它,也许我会看到编译器的困惑,但这个看起来很简单。
有谁知道我为什么会收到这个错误?