У меня есть пространство имен, которое выглядит следующим образом:
namespace MyCompany.AspDotNet.Extensions.HttpClient
Затем у меня есть метод, объявленный в этом файле следующим образом:
public static async Task<HttpClient> AddAuthentication(this HttpClient httpClient)
, который выдает ошибку, которая говорит:
HttpClient является пространством имен, но используется как тип
Имя типа ожидается, но пространство имен найдено
Тестирование показывает, что любое значение, которое является точка, разделенная в пространстве имен, будет конфликтовать с типом.
У меня вопрос, почему он это делает?
Я хочу понять, какое значение. Net получает из-за того, что каждая точка, расположенная на расстоянии части пространства имен, сама по себе считается пространством имен. Можно ли как-то использовать только часть пространства имен?
В качестве дополнительной стороны, есть ли приемлемый обходной путь к этому? Идеи, которые приходят на ум:
- Подчеркнуть интервал : MyCompany_AspDotNet_Extensions_HttpClient
- Строчные имена : mycompany.aspdo tnet .extensions .httpclient
- Полностью ссылаться на все конфликтующие типы :
Task<HttpClient>
на Task<System.Net.Http.HttpClient>
- Не использовать никакие типы в именах моего пространства имен : MyCompany.AspDo tNet .Extensions.WebCalls
Я не фанат большинства из них. Но если мне придется выбрать один, я буду go с последним. Но когда я это делаю, я обнаруживаю, что пытаюсь найти другое имя для того, что уже имеет доброе имя.