ในขณะที่ทำการปรับโครงสร้างใหม่ฉันได้สร้างวิธีการดังตัวอย่างด้านล่าง ประเภทข้อมูลได้รับการเปลี่ยนแปลงเพื่อความเรียบง่าย
ก่อนหน้านี้ฉันมีคำสั่งมอบหมายเช่นนี้:
MyObject myVar = new MyObject();
มันถูกปรับโครงสร้างใหม่โดยบังเอิญ:
private static new MyObject CreateSomething()
{
return new MyObject{"Something New"};
}
นี่เป็นผลมาจากข้อผิดพลาดในการตัด / วางในส่วนของฉัน แต่new
คำหลักในprivate static new
ถูกต้องและคอมไพล์
คำถาม : อะไรคือnew
คำสำคัญมีความหมายอย่างไรในลายเซ็นของวิธีการ? ฉันคิดว่ามันเป็นสิ่งที่แนะนำใน C # 3.0?
สิ่งนี้แตกต่างจากoverride
อย่างไร?
new
เป็นตัวปรับแต่งในเมธอด (หรือสมาชิกประเภทอื่น) ไม่ใช่ "สิ่งที่นำมาใช้ใน C # 3.0" มันมีมาตั้งแต่รุ่นแรกของ C #