C# почему?????

программирование C# код

код:
using System;


namespace helloworld
{
class Hello
{
string hello1;
string world1;

private void hello()
{
hello1 = "hello";
world1 = "world";
System.Console.WriteLine("{0}{1}", hello1, world1);

}
private void qq(int q,int w)

{

System.Console.WriteLine("{1}{0}",q,w);
System.Console.ReadKey();
}
class hello22 : Hello
{
public void inherit() {

System.Console.WriteLine("hellyeah");
System.Console.ReadKey();
}
}
static void Main()
{
helloworld.Hello func1 = new Hello();
func1.hello();
func1.qq(77,7);
hello22 func2 = new hello22();
func2.qq(66,6);
func2.hello();
func2.inherit();

}
}
}
Суть вопроса:Объясните мне дураку,почему private void hello() или private void qq(int q,int w) хоть они и ПРИВАТНЫЕ ,но все равно используются в static void Main(),а вот если я сделаю public void inherit() на приватный то получу :Ошибка 1 "helloworld.Hello.hello22.inherit()" недоступен из-за его уровня защиты . Как так-то почему им(private void hello() или private void qq(int q,int w)),приватным можно появляться в static void Main() ,а такому же public void inherit() если его приватнуть то нельзя.Я немогу понять
Но стоило мне поменять код (поставил фигурные скобки закрытия по другому) как приваты стали защищать кактак-то почему расположение скобок на это влияет? using System;


namespace helloworld
{
class Hello
{
string hello1;
string world1;

public void hello()
{
hello1 = "hello";
world1 = "world";
System.Console.WriteLine("{0}{1}", hello1, world1);

}
public void qq(int q,int w)

{

System.Console.WriteLine("{1}{0}",q,w);
System.Console.ReadKey();
}
}
class hello22 : Hello
{
public void inherit() {

System.Console.WriteLine("hellyeah");
System.Console.ReadKey();
}
}
class Program
{
static void Main()
{
helloworld.Hello func1 = new Hello();
func1.hello();
func1.qq(77, 7);
hello22 func2 = new hello22();
func2.qq(66, 6);
func2.hello();
func2.inherit();

}
}
}
Ответы:
Это потому что в первом примере ты запихнул все в класс Hello. Абсолютно все, в том числе и Main(). Main() в этом случае является членом класса Hello и имеет доступ к его приватным методам hello() и qq(). А кроме  Main() в классе Hello был ВЛОЖЕННЫЙ класс hello22, и конечно, Main() (которая член класса Hello) не имеет доступа к его приватным членам и методам, только к public.


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.