私はどのように正しい文字列を出力するのかわかりません。たとえば、プライベートに "name"を出力したい場合、コンパイラはエラーを表示します:保護レベルのためアクセスできません。適切な方法は、公開私的な "名前"の代わりに "名前"を使用することですか?私はプライベートでアクセスしたいので、エラーを修正する方法がわからないからです。 (資本「N」と)出力専用文字列子
class Person
{
private string name, lastname;
public string Name
{
get { return name; }
set { name = value; }
}
public string Lastname
{
get { return lastname; }
set { lastname = value; }
}
}
class Program
{
static void Main(string[] args)
{
Person person1 = new Person("Matt", "Houdson");
Console.WriteLine("Name: {0}", person1.name);
//is inaccessible due its protection level
これは正しい方法ですか?これは私がプライベート文字列を介してパブリック文字列にアクセスできないことを意味しますか? – Slasher
はい、 "getter"メソッドと "setter"メソッドを使用してパブリックにアクセス可能なプロパティを作成し、プライベートプロパティへのアクセスを制御することは非常に標準的です。これは基本的にカプセル化の原則です(https://en.wikipedia.org/wiki/Encapsulation_(computer_programming)) – nb1987
プライベート "名前"を介してパブリック "名前"にアクセスすることは可能ですか? – Slasher