namespace ConsoleApplication1
{
public class Person
{
string myName = "N/A";
int myAge = 0;
List<int> _nums = new List<int>();
public List<int> Nums
{
get
{
return _nums;
}
}
public void AddNum(int NumToAdd)
{
_nums.Add(NumToAdd);
}
public string Name { get; set; }
public int Age { get; set; }
}
}
我已经尝试了很多与AsReadOnly()和readonly关键字有关的内容,但似乎无法实现我想要的效果。
下面是我用于访问属性的代码示例。
Person p1 = new Person();
p1.Nums.Add(25); //access 1
p1.AddNum(37); //access 2
Console.WriteLine("press any key");
Console.ReadLine();
我希望 "access 1" 失败,而 "access 2" 是唯一可以设置值的途径。感谢提前的帮助。
ReadOnlyCollection
作为你的属性,或者只是将列表复制到其中(这样用户可以更改他们的副本,但不能更改你的内部状态)。 - Random DevNums
返回的值中做什么? - Servy