นี่คือ:
public MyClass
{
public const string SomeString = "SomeValue";
}
เลวร้ายยิ่งกว่านี้:
public MyClass
{
public static string SomeString { get{ return "SomeValue";}}
}
ทั้งสองสามารถอ้างอิงได้ในลักษณะเดียวกัน:
if (someString == MyClass.SomeString)
...
อย่างไรก็ตามที่สองมีการป้องกันการเป็นทรัพย์สิน แต่ที่จริงแล้วมันดีกว่า const มากแค่ไหน?
ฉันได้เรียนรู้เกี่ยวกับอันตรายจากการมีทุ่งสาธารณะ ดังนั้นเมื่อฉันเห็นรหัสบางส่วนโดยใช้ค่าคงที่เหล่านี้ในเขตข้อมูลสาธารณะฉันตั้งค่าทันทีเกี่ยวกับการปรับโครงสร้างให้เป็นคุณสมบัติ แต่ผ่านไปครึ่งทางฉันก็ต้องสงสัยว่ามันจะมีประโยชน์อะไรที่จะมีคุณสมบัติคงที่มากกว่าค่าคงที่
ความคิดใด ๆ