ดูเหมือนว่าฉันจะมีปัญหาในการใช้งานกับเนมสเปซหลายรายการของบริการต่างๆ ตัวอย่างเช่น ฉันมีบริการต่อไปนี้เป็นเนมสเปซ:
ServiceMemberIDSS
, ServiceVenueIDSS
, ServiceProspectIDSS
ฯลฯ เป็นต้น
บริการทั้งหมดนี้มีคุณสมบัติชื่อ AuthorizeHeader
ฉันต้องการสร้างวิธีการที่ผู้ใช้สามารถป้อน Namespace ที่จะใช้ได้
ตัวอย่างเช่น หากต้องการโทร 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 Method เพื่อให้ทำงานได้ด้วยวิธีใดวิธีหนึ่งเหล่านั้น
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
สำหรับเนมสเปซทั้ง 3 รายการ จากนั้นเรียกเมธอดที่แตกต่างกันด้วยชื่อที่มีคุณสมบัติครบถ้วน แต่ฉันอาจคิดผิด คำถามอื่นที่คล้ายกับของคุณ: stackoverflow.com/ คำถาม/5258253/ - person JW Lim   schedule 20.02.2014ServiceMemberIDSS.Member[] theMember = getMemberList(Authorize("ServiceMemberIDSS"), true, true, true, true, true);
พารามิเตอร์แรกเป็นประเภทAuthorizeHeader
แต่นั่นหมายความว่าฉันจะต้องกำหนดวิธีการของประเภทนั้น แม้ว่าค่าที่ส่งคืนจะเป็นประเภทนั้นใช่ไหม หากไม่ถูกต้อง ควรเป็นประเภท MethodAuthorize
อย่างไร - person Solomon Closson   schedule 20.02.2014Authorize
สำหรับแต่ละบริการ/เนมสเปซของคุณ จากนั้นคุณก็สามารถโทรnamespaceName.Authorize
ซึ่งจะคืนประเภทที่ถูกต้อง คุณยังสามารถย่อชื่อเนมสเปซของคุณด้วยusing svcMember = ServiceMemberIDSS
จากนั้นเรียกใช้เมธอดด้วยsvcMember.Authorize
- person JW Lim   schedule 20.02.2014