Почему нельзя использовать статические свойства объекта только для чтения? - PullRequest
0 голосов
/ 29 марта 2019

Это класс констант:

 public static class Constants
    {
        public const string USER_ID = "conduent";
        public const string PASSWORD = "593becd1-02f6-46f0-bf34-25b393ad041b";
        public static readonly Uri BASE_URI = new Uri("https://staging.test-476b.com");
        public static readonly Uri GET_TOKEN_URI = new Uri("api/session");
        public static readonly Uri SEND_CASE_URI = new Uri("api/referral_request");
    }

А это использование

public class DanestreetHttp
    {

        private AuthToken authToken = null;

        private readonly HttpClient httpClient = new HttpClient()
        {
            BaseAddress = Constants.BASE_URI
        };
}

На снимке экрана вы видите ошибку, которая исчезла после того, как я изменил BaseAddress = Constants.BASE_URI на BaseAddress = new System.Uri("https://staging.test-476b.com"). Что не так со статической инициализацией только для чтения?

Экран

Image 2

PS. Мое текущее решение: BaseAddress = new Uri(Constants.BaseAddress)

1 Ответ

1 голос
/ 29 марта 2019

Проблема в том, что 2 или URI недопустимы в Constants, что не позволяет этому классу инициализировать свойство. Должно работать, если вы замените

public static readonly Uri GET_TOKEN_URI = new Uri("api/session");
public static readonly Uri SEND_CASE_URI = new Uri("api/referral_request");

с

public static readonly Uri GET_TOKEN_URI = new Uri("http://api/session");
public static readonly Uri SEND_CASE_URI = new Uri("http://api/referral_request");

(или https)

Fiddle

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...