ฉันจะนำมันไปอีกขั้นหนึ่งแล้วนำมาให้ 3 ราย แม้ว่าจะมีรูปแบบที่แตกต่างกันในแต่ละครั้งนี้เป็นกฎที่ฉันใช้ส่วนใหญ่เวลาที่การเขียนโปรแกรม C #
ในกรณีที่ 2 และ 3 ให้ไปที่ Property Accessor เสมอ (ไม่ใช่ตัวแปรฟิลด์) และในกรณีที่ 1 คุณจะรอดพ้นจากการที่ต้องเลือกตัวเลือกนี้
1. ) ทรัพย์สินที่ไม่เปลี่ยนรูป (ส่งผ่านไปยังผู้สร้างหรือสร้างขึ้นในเวลาก่อสร้าง) ในกรณีนี้ฉันใช้ตัวแปรฟิลด์พร้อมคุณสมบัติอ่านอย่างเดียว ฉันเลือกสิ่งนี้กับผู้ตั้งค่าส่วนตัวเนื่องจากผู้ตั้งค่าส่วนตัวไม่รับประกันการเปลี่ยนไม่ได้
public class Abc
{
private readonly int foo;
public Abc(int fooToUse){
foo = fooToUse;
}
public int Foo { get{ return foo; } }
}
2. ) ตัวแปร POCO ตัวแปรอย่างง่ายที่สามารถรับ / ตั้งค่าในขอบเขตสาธารณะ / ส่วนตัวใด ๆ ในกรณีนี้ฉันจะใช้คุณสมบัติอัตโนมัติ
public class Abc
{
public int Foo {get; set;}
}
3. ) คุณสมบัติการรวม ViewModel สำหรับคลาสที่สนับสนุน INotifyPropertyChanged ฉันคิดว่าคุณต้องการตัวแปรฟิลด์ส่วนบุคคลสำรอง
public class Abc : INotifyPropertyChanged
{
private int foo;
public int Foo
{
get { return foo; }
set { foo = value; OnPropertyChanged("foo"); }
}
}