คำถามติดแท็ก partial-classes


9
เป็นไปได้หรือไม่ที่จะมีสองคลาสบางส่วนในแอสเซมบลีที่ต่างกันแสดงคลาสเดียวกันได้หรือไม่?
ฉันมีคลาสที่เรียกว่า 'บทความ' ในโครงการที่ชื่อว่า 'MyProject.Data' ซึ่งทำหน้าที่เป็นชั้นข้อมูลสำหรับเว็บแอปพลิเคชันของฉัน ฉันมีโครงการแยกต่างหากชื่อ 'MyProject.Admin' ซึ่งเป็นระบบการดูแลระบบบนเว็บสำหรับการดู / แก้ไขข้อมูลและสร้างโดยใช้ ASP.NET Dynamic Data โดยทั่วไปฉันต้องการขยายคลาส Article โดยใช้คลาสบางส่วนเพื่อให้ฉันสามารถเพิ่มคุณสมบัติอย่างใดอย่างหนึ่งด้วยส่วนขยาย "UIHint" ซึ่งจะทำให้ฉันสามารถแทนที่กล่องข้อความแบบหลายบรรทัดปกติด้วยการควบคุม FCKEdit ชั้นบางส่วนและส่วนขยายของฉันจะมีลักษณะเช่นนี้: [MetadataType(typeof(ProjectMetaData))] public partial class Project { } public class ProjectMetaData { [UIHint("FCKeditor")] public object ItemDetails { get; set; } } ตอนนี้ทั้งหมดทำงานได้ดีถ้าคลาสบางส่วนอยู่ในโครงการเดียวกันกับคลาสบางส่วนดั้งเดิม - เช่นโครงการ MyProject.Data แต่พฤติกรรมของ UI ไม่ควรอยู่ในชั้นข้อมูล แต่ควรอยู่ในชั้นผู้ดูแลระบบ ดังนั้นฉันต้องการย้ายคลาสนี้ไปที่ MyProject.Admin …

2
หลักการตั้งชื่อสำหรับไฟล์คลาสบางส่วน
ฉันกำลังสร้างรหัสนั่งร้าน ASP.NET MVC จำนวนมาก ไฟล์ที่สร้างขึ้นทั้งหมดเป็นคลาสบางส่วนซึ่งใช้หลักการตั้งชื่อมาตรฐาน ตัวอย่างเช่นไฟล์ตัวควบคุมพนักงานของฉันชื่อ EmployeeController.cs หากฉันต้องการขยาย EmployeeController ด้วยตรรกะที่กำหนดเองและไม่ได้สร้างขึ้นฉันจะสร้างไฟล์คลาสบางส่วนที่สองชื่อ EmployeeControllerCustom.cs ฉันแยกตรรกะที่กำหนดเองและสร้างออกเป็นสองไฟล์ที่แตกต่างกันดังนั้นในครั้งต่อไปที่ฉันสร้าง EmployeeController การเปลี่ยนแปลงที่กำหนดเองของฉันจะไม่ถูกเขียนทับ การเพิ่มคำต่อท้าย "กำหนดเอง" ให้กับชื่อไฟล์ดูเหมือนจะสมเหตุสมผลสำหรับฉัน แต่มีหลักการตั้งชื่อไฟล์คลาสบางส่วนที่เป็นที่ยอมรับมากขึ้นซึ่งฉันควรปฏิบัติตามหรือไม่
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.