我有下面的扩展名(不是我的,借用了我的实现,但做了一些改动),我想知道为什么下面的 TryGetValue 失败,尽管这对(字符串,对象 - 好吧,在我的情况下是 var)看起来是正确的.
public static class somExt
{
private static string TimeoutPropertyKey = "RequestTimeout";
public static void SetTimeout( this HttpRequestMessage request, TimeSpan? timeout)
{
if (request == null)
throw new ArgumentNullException(nameof(request));
request.Properties[TimeoutPropertyKey] = timeout;
}
public static TimeSpan? GetTimeout(this HttpRequestMessage request)
{
if (request == null)
throw new ArgumentNullException(nameof(request));
if (request.Properties.TryGetValue(
TimeoutPropertyKey, out var value) // error CS1003: Syntax error, ',' expected - why??
&& value is TimeSpan timeout)
return timeout;
return null;
}
}
任何人都可以帮助我理解和纠正错误吗?谢谢