คุณควรประกาศวิธีการโดยใช้โอเวอร์โหลดหรือพารามิเตอร์เสริมใน C # 4.0 หรือไม่?
ฉันกำลังดูการพูดคุยของ Anders เกี่ยวกับ C # 4.0 และดูตัวอย่างของ C # 5.0และทำให้ฉันนึกถึงเมื่อพารามิเตอร์ที่เป็นทางเลือกมีอยู่ใน C # จะเป็นวิธีที่แนะนำในการประกาศวิธีการที่ไม่จำเป็นต้องระบุพารามิเตอร์ทั้งหมด ยกตัวอย่างเช่นบางอย่างเช่นFileStreamชั้นจะมีประมาณสิบห้าก่อสร้างงานแตกต่างกันซึ่งสามารถแบ่งออกเป็น 'ครอบครัว' ตรรกะเช่นคนที่อยู่ด้านล่างจากสตริงคนจากและคนที่มาจากที่IntPtrSafeFileHandle FileStream(string,FileMode); FileStream(string,FileMode,FileAccess); FileStream(string,FileMode,FileAccess,FileShare); FileStream(string,FileMode,FileAccess,FileShare,int); FileStream(string,FileMode,FileAccess,FileShare,int,bool); สำหรับฉันแล้วดูเหมือนว่ารูปแบบประเภทนี้สามารถทำให้ง่ายขึ้นได้โดยมีตัวสร้างสามตัวแทนและใช้พารามิเตอร์ที่เป็นทางเลือกสำหรับพารามิเตอร์ที่สามารถเป็นค่าเริ่มต้นได้ซึ่งจะทำให้ตระกูลต่างๆของตัวสร้างมีความแตกต่างกันมากขึ้น [หมายเหตุ: ฉันรู้ว่าการเปลี่ยนแปลงนี้จะไม่มี ทำใน BCL ฉันกำลังพูดถึงสมมุติฐานสำหรับสถานการณ์ประเภทนี้] คุณคิดอย่างไร? จาก C # 4.0 จะเหมาะสมกว่าหรือไม่ที่จะทำให้กลุ่มตัวสร้างและวิธีการที่เกี่ยวข้องอย่างใกล้ชิดเป็นวิธีการเดียวที่มีพารามิเตอร์เสริมหรือมีเหตุผลที่ดีที่จะยึดติดกับกลไกการโอเวอร์โหลดแบบดั้งเดิม