Кажется, у меня возникли трудности с реализацией использования для нескольких пространств имен нескольких сервисов. Например, у меня есть следующие службы в качестве пространств имен:
ServiceMemberIDSS
, ServiceVenueIDSS
, ServiceProspectIDSS
и т. д. и т. д.
У всех этих служб есть свойство с именем AuthorizeHeader
.
Я хотел бы создать метод, в котором пользователь может ввести пространство имен для использования.
Например, чтобы вызвать ServiceMemberIDSS
, я мог бы включить using ServiceMemberIDSS;
и иметь этот метод:
public static AuthorizeHeader Authorize()
{
AuthorizeHeader _authHeader = new ServiceMemberIDSS.AuthorizeHeader();
_authHeader.SetCredentials();
return _authHeader;
}
И назовите это так: Authorize()
Но как я могу изменить это, чтобы любой из них был возможен:
Authorize.ServiceMemberIDSS();
Authorize.ServiceVenueIDSS();
Authorize.ServiceProspectIDSS();
or
Authorize(ServiceMemberIDSS);
Authorize(ServiceVenueIDSS);
Authorize(ServiceProspectIDSS);
Как это можно сделать? Что мне нужно сделать с методом авторизации, чтобы это работало любым из этих способов?
Authorize
? Я не могу придумать другого способа сделать это, поскольку вы хотите получить доступ к методу в разных классах. - person JW Lim   schedule 20.02.2014char
,int
илиstring
кAuthorize
, а затем просто решил, какой метод пространства имен вызывать с помощью условий (if-else
). - person JW Lim   schedule 20.02.2014using
, есть ли другой способ? - person Solomon Closson   schedule 20.02.2014using
для всех трех пространств имен, а затем вызывать различные методы с их полными именами, но я могу ошибаться. Другой вопрос, похожий на ваш: stackoverflow.com/ вопросы/5258253/ - person JW Lim   schedule 20.02.2014ServiceMemberIDSS.Member[] theMember = getMemberList(Authorize("ServiceMemberIDSS"), true, true, true, true, true);
первый параметр имеет типAuthorizeHeader
, но это будет означать, что мне придется определить метод этого типа, даже если возвращаемое значение имеет этот тип, верно? Если это неправильно, то каким должен быть методAuthorize
? - person Solomon Closson   schedule 20.02.2014Authorize
для каждого из ваших сервисов/пространств имен. Затем вы можете просто вызватьnamespaceName.Authorize
, который вернет правильный тип. Вы также можете сократить имя пространства имен с помощьюusing svcMember = ServiceMemberIDSS
, а затем вызвать метод с помощьюsvcMember.Authorize
. - person JW Lim   schedule 20.02.2014