このサンプルコードがあります。私がやりたいのは、「Nums」値が「AddNum」メソッドを使用してのみ書き込まれるようにすることです。
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();
私は本当に「アクセス 1」が失敗し、「アクセス 2」が値を設定できる唯一の方法であることを望んでいます。助けてくれてありがとう。