เรามักจะบอกว่าเราควรปกป้องการห่อหุ้มด้วยวิธีการ getter และ setter (คุณสมบัติใน C #) สำหรับฟิลด์คลาสแทนที่จะเปิดเผยฟิลด์กับโลกภายนอก
แต่มีหลายครั้งที่เขตข้อมูลอยู่ที่นั่นเพื่อเก็บค่าและไม่ต้องการการคำนวณหรือตั้งค่า สำหรับสิ่งเหล่านี้เราทุกคนจะทำตามหมายเลขนี้:
public class Book
{
private string _title;
public string Title
{
get{ return _title; }
set{ _title = value; }
}
}
ฉันมีคำสารภาพฉันทนไม่ได้ที่จะเขียนทุกอย่าง (จริง ๆ แล้วมันไม่จำเป็นต้องเขียนมันต้องดูมัน) ดังนั้นฉันจึงไปโกงและใช้พื้นที่สาธารณะ
จากนั้นมาพร้อม C # 3.0 และฉันเห็นว่าพวกเขาเพิ่มคุณสมบัติอัตโนมัติ:
public class Book
{
public string Title {get; set;}
}
อันไหนดีกว่าและฉันรู้สึกขอบคุณ แต่จริงๆแล้วอะไรคือสิ่งที่แตกต่างจากการสร้างสนามสาธารณะ
public class Book
{
public string Title;
}
prop
ข้อมูลโค้ดทำให้มันรวดเร็วในการสร้างคุณสมบัติ เพียงพิมพ์prop
จากนั้นแท็บ