所以設計一個不可改變的類應該用它獲取屬性這樣在.net中創建不可變類型時,它是否有效具有公共字段?
public sealed class Person
{
readonly string name;
readonly int age;
public Person(string name, int age)
{
this.name = name;
this.age = age;
}
public string Name
{
get { return name; }
}
public int Age
{
get { return age; }
}
}
或者是有效的,當暴露公共只讀字段
public sealed class Person
{
public readonly string Name;
public readonly int Age;
public Person(string name, int age)
{
Name = name;
Age = age;
}
}
可能重複的[在C#中不可變和只讀的含義是什麼?](http://stackoverflow.com/questions/6849114/what-does-immutable-and-readonly-mean-in-c) –
@ssg:而不是重複;那另一個問題甚至沒有提到屬性。 –