ยินดีต้อนรับสู่ repo อย่างเป็นทางการสำหรับการออกแบบภาษา C# นี่คือจุดที่คุณลักษณะใหม่ๆ ของภาษา C# ได้รับการพัฒนา นำไปใช้ และระบุ
C# ได้รับการออกแบบโดยทีมออกแบบภาษา C# (LDT) โดยประสานงานอย่างใกล้ชิดกับโครงการ Roslyn ซึ่งนำภาษาไปใช้
คุณสามารถค้นหา:
หากคุณพบจุดบกพร่องหรือข้อบกพร่องข้างต้น โปรดทิ้งปัญหาไว้เพื่อหยิบยกขึ้นมา หรือที่ดีกว่านั้น: การดึงคำขอเพื่อแก้ไข
อย่างไรก็ตาม สำหรับ ข้อเสนอคุณลักษณะใหม่ โปรดหยิบยกขึ้นมาเพื่อหารือกัน และ ส่ง ข้อเสนอเป็นปัญหาหรือดึงคำขอหากได้รับเชิญให้ทำเช่นนั้นโดยสมาชิกของทีมออกแบบภาษา ("แชมป์เปี้ยน")
มีอธิบายกระบวนการออกแบบทั้งหมดไว้ที่นี่ ภาพรวมสั้นๆ อยู่ด้านล่าง
การอภิปรายเกี่ยวกับคุณลักษณะของภาษาเกิดขึ้นในรูปแบบของการสนทนาใน repo นี้
หากคุณต้องการแนะนำคุณลักษณะ หารือเกี่ยวกับบันทึกการออกแบบหรือข้อเสนอปัจจุบัน ฯลฯ โปรดเปิดหัวข้อการสนทนาใหม่
การสนทนาที่สั้นและอยู่ในหัวข้อมีแนวโน้มที่จะอ่านมากขึ้น หากคุณแสดงความคิดเห็นหมายเลขห้าสิบ มีโอกาสที่จะมีเพียงไม่กี่คนเท่านั้นที่จะอ่านความคิดเห็นนี้ เพื่อให้การสนทนาง่ายขึ้นและได้รับประโยชน์จาก โปรดปฏิบัติตามกฎทั่วไปบางประการ:
ข้อเสนอภาษาที่ป้องกันไม่ให้เกิดไวยากรณ์เฉพาะสามารถทำได้ด้วยเครื่องวิเคราะห์ Roslyn ข้อเสนอที่ทำให้ไวยากรณ์ที่มีอยู่เป็นทางเลือกที่ผิดกฎหมายเท่านั้น จะถูกปฏิเสธโดยคณะกรรมการออกแบบภาษา เพื่อป้องกันความซับซ้อนของภาษาที่เพิ่มขึ้น
เมื่อสมาชิกของ C# LDM พบว่าข้อเสนอสมควรได้รับการพิจารณาโดยทีมในวงกว้าง พวกเขาสามารถสนับสนุนข้อเสนอได้ ซึ่งหมายความว่าพวกเขาจะนำเสนอข้อเสนอนั้นในการประชุมการออกแบบภาษา C# ข้อเสนอจะมีการพูดคุยกันในการสนทนาที่เชื่อมโยงกันเสมอ ไม่ใช่ในประเด็นแชมป์เปี้ยน เราไม่ได้ปฏิบัติตามนโยบายนี้เสมอไป ปัญหาเกี่ยวกับแชมป์เปี้ยนมากมายจึงจะมีการพูดคุยกัน ตอนนี้เราล็อคปัญหาเพื่อป้องกันไม่ให้มีการสนทนาใหม่เกิดขึ้น แชมป์เปี้ยนแต่ละประเด็นจะมีลิงก์การสนทนาอยู่
ข้อเสนอมีวิวัฒนาการตามผลลัพธ์ของการตัดสินใจในการประชุมการออกแบบภาษา ซึ่งได้รับการแจ้งจากการอภิปราย การทดลอง และงานออกแบบออฟไลน์
ในหลายกรณี มีความจำเป็นต้องนำไปใช้และแบ่งปันต้นแบบของคุณลักษณะเพื่อที่จะได้การออกแบบที่ถูกต้อง และสุดท้ายตัดสินใจว่าจะนำคุณลักษณะนี้ไปใช้หรือไม่ ต้นแบบช่วยค้นพบปัญหาทั้งการใช้งานและการใช้งานของฟีเจอร์ ควรใช้งานต้นแบบในทางแยกของ repo ของ Roslyn และตรงตามแถบต่อไปนี้:
เมื่อได้รับการอนุมัติแล้ว คุณลักษณะควรจะถูกนำมาใช้โดยสมบูรณ์ใน Roslyn และระบุไว้อย่างครบถ้วนในข้อกำหนดภาษา จากนั้นข้อเสนอจะถูกย้ายไปยังโฟลเดอร์ที่เหมาะสมสำหรับคุณลักษณะที่เสร็จสมบูรณ์ เช่น ข้อเสนอ C# 7.1
การปฏิเสธความรับผิด : ข้อเสนอที่อยู่ระหว่างการพิจารณาเพื่อรวมไว้ในเวอร์ชันอนาคตของภาษาการเขียนโปรแกรม C# แต่ไม่รับประกันในทางใดทางหนึ่งว่าจะรวมไว้ในเวอร์ชันถัดไปหรือเวอร์ชันใด ๆ ของภาษาในท้ายที่สุด ข้อเสนออาจถูกเลื่อนหรือปฏิเสธเมื่อใดก็ได้ในระหว่างขั้นตอนใดๆ ของกระบวนการข้างต้น โดยอิงตามคำติชมจากทีมออกแบบ ชุมชน ผู้ตรวจสอบโค้ด หรือการทดสอบ
เรามีเหตุการณ์สำคัญที่แตกต่างกันสองสามประการสำหรับปัญหาเกี่ยวกับ repo:
Language Design Meetings (LDM) จัดขึ้นโดย LDT และแขกรับเชิญเป็นครั้งคราว และได้รับการบันทึกไว้ใน Design Meeting Notes ในโฟลเดอร์การประชุม ซึ่งจัดระเบียบเป็นโฟลเดอร์ตามปี อายุการใช้งานของบันทึกการประชุมการออกแบบอธิบายไว้ใน conferences/README.md LDM คือจุดที่ต้องทำการตัดสินใจเกี่ยวกับเวอร์ชัน C# ในอนาคต รวมถึงข้อเสนอที่จะดำเนินการ วิธีการพัฒนาข้อเสนอ และว่าจะนำไปใช้หรือไม่และเมื่อใด
ข้อมูลจำเพาะ ECMA-334 ปัจจุบันสามารถพบได้ในรูปแบบมาร์กดาวน์บนที่เก็บมาตรฐานภาษา C#
การใช้งานอ้างอิงของภาษา C# สามารถพบได้ในพื้นที่เก็บข้อมูล Roslyn พื้นที่เก็บข้อมูลนี้ยังติดตามสถานะการใช้งานคุณลักษณะภาษาอีกด้วย จนกระทั่งเมื่อไม่นานมานี้ นั่นคือที่ซึ่งสิ่งประดิษฐ์ด้านการออกแบบภาษาถูกติดตามด้วย โปรดให้เวลาเล็กน้อยในขณะที่เราดำเนินการกับข้อเสนอที่ใช้งานอยู่