ребята, спасибо за ваше время. Как известно, ключевые слова «Частный» и «Защищенный» очень полезны для того, чтобы некоторые методы, поля и свойства имели недействительный доступ за пределами класса. Но у меня была проблема с конкретными обстоятельствами. Вот пример:Проблемы с защитным и частным модификатором доступа
Class Node
{
public string Name {get; private set;}//Private setting authority
public int ID {get;set}
public Node Previous {get;set;}
public Node Next {get;set;}
public void Test()
{
this.Name='Valid';
this.Next.Name='Invalid';//Is this valid??
}
}
Так же, как код выше, мы получили Class A «узел» здесь с двумя свойствами, названных «Назад» и «Вперед», которые также «Node» type.Now давайте сосредоточимся на 'Test() метод .Это верно, чтобы установить «this.Name», но это странно, чтобы установить «this.Next.Name»? К сожалению, complier рассматривает это как действительный формат!
Насколько мне научили, означает, что он не может использоваться вне класса. Но в этой ситуации я могу получить доступ для любых непубличных членов (частных/защищенных и т. д.) из «Предыдущая» и «Следующая».
Это действительно меня смущает, будет ли плз давать какие-то советы, спасибо!
Вам интересно, почему вы можете получить доступ к другому установщику _instance_? Ваш код находится в том же классе, то есть: «Узел». – canon
См. Также [Почему частные поля являются закрытыми для типа, а не экземпляра?] (Http://stackoverflow.com/questions/6983553/) –