Tuple.Create:无法从用法推断方法的类型参数

Sha*_*ani 3 c# tuples

我正在尝试使该方法返回 Tuple:Tuple<DateTime?, DateTime?>

如果代码能够生成两种 DateTime 类型,我将使用以下命令Tuple.Create创建一个 return 语句:

public Tuple<DateTime?, DateTime?> GeTuple()
{
    if (something)
    {
        return Tuple.Create(startDate, endDate);
    }
    else
    {
        return Tuple.Create(null, null); //--> This line produce the error.
    }
}
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

无法从用法中推断出方法“Tuple.Create(T1, T2)”的类型参数。尝试显式指定类型参数。

can*_*on7 5

编译器无法查看Tuple.Create(null, null)并判断您打算创建一个Tuple<DateTime?, DateTime?>. 事实上,它是从返回 a 的方法返回的,这一点Tuple<DateTime?, DateTime?>并不重要:编译器不会考虑这一点。

使用其中之一:

new Tuple<DateTime?, DateTime?>(null, null)

Tuple.Create((DateTime?)null, (DateTime?)null)
Run Code Online (Sandbox Code Playgroud)