0

我有下面的扩展名(不是我的,借用了我的实现,但做了一些改动),我想知道为什么下面的 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;
    }
}

任何人都可以帮助我理解和纠正错误吗?谢谢

4

0 回答 0