C# Расширение stati c Класс не удается при чтении свойств с TryGetValue - PullRequest
0 голосов
/ 31 января 2020

У меня есть указанное ниже расширение (не мое, заимствованное для моей реализации, но немного измененное), и мне интересно, почему ниже приведен сбой 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;
    }
}

Кто-нибудь может помочь мне понять и исправить ошибку? Спасибо

...