public void CallMethod() { my = new MyClass(); // private метод виден на экземпляре! my.Method(); }
// StackOverflowException public MyClass() { Console.WriteLine("Constructor MyClass"); // Самоассоциация, после первой попытки инстанцирования приводит к цикличному инстанцированию. instance = new MyClass(); }
static void Main() { MyClass my = new MyClass(); my.CallMethod(); //my.Method(); // Недопустимо. // Delay. Console.ReadKey(); }
static void Main() { // Попытка инстанцирования класса MyClass. MyClass instance = new MyClass(); // Delay. Console.ReadKey(); }
static void Main() { MyClass my = new MyClass(); MyClass2 my2 = new MyClass2(); my2.CallMethod(my); // Задержка Console.ReadKey(); }
static void Main() { MyClass instance = new MyClass(); instance.Field = "Hello world!"; // Метод-мутатор Console.WriteLine(instance.Field); // Метод-аксессор // Delay. Console.ReadKey(); }
static void Main() { MyClass instance = new MyClass(); instance.SetField("Hello world!"); // Метод-мутатор string @string = instance.GetField(); // Метод-аксессор Console.WriteLine(@string); // Delay. Console.ReadKey(); }
static void Main() { MyClass instance = new MyClass(); instance.Field = "Goodbye"; Console.WriteLine(instance.Field); Console.WriteLine(new string('-', 50)); instance.Field = "hello world"; Console.WriteLine(instance.Field); // Delay. Console.ReadKey(); }
static void Main() { // 1. Создаем экземпляр класса MyClass (по сильной ссылке). // 2. Создаем экземпляр класса MyClass с именем instance. // 3. Инстанцируем класс MyClass. // 4. Создаем переменную с именем instance, типа MyClass и присваиваем ей адрес экземпляра на куче. // (instance - является ссылкой на экземпляр класса MyClass построенный на куче) MyClass instance = new MyClass(); // Полю field, экземпляра instance, присваиваем значение Hello world! instance.field = "Hello world!"; // Выводим на экран значение поля field экземпляра instance. Console.WriteLine(instance.field); // Вызов метода с именем Method на экземпляре instance. instance.Method(); // Delay. Console.ReadKey(); }
static void Main(string[] args) { MyClass my = new MyClass(); MyClass2 my2 = new MyClass2(); }
// На 18 строке создаем метод с именем CallMethod, который принимает один аргумент типа MyClass и ничего не возвращает. public void CallMethod(MyClass my) { // В теле метода CallMethod на 21 строке вызываем метод с именем Method фргумнета my my.Method(); }
// На 18 строке создаем метод с именем CallMethod, который принимает один аргумент типа MyClass и ничего не возвращает public void CallMethod(MyClass my) { // В теле метода CallMethod, на 21 строке вызываем метод с именем Method аргумента my my.Method(); }