вложенный класс

Что бы получить доступ из внешнего класса к члену вложенного класса или наоборот, из вложенного класса к члену внешнего класса, нужно объявить переменную этого типа и через нее производить доступ.
Скрыть

Показать

Копировать
  Main.cs  
  • using System;
  •  
  • //внешний класс
  • class One {
  •  public int externalValue;
  •  public One(int arg) {
  •   externalValue = arg;
  •  }
  •  public int SumExternal(Two obj) {
  •   return externalValue + obj.internalValue;
  •  }
  •  
  •  //вложенный класс
  •  public class Two {
  •   public int internalValue;
  •   public Two(int arg) {
  •    internalValue = arg;
  •   }
  •   public int SumInteranl(One obj) {
  •    return internalValue + obj.externalValue;
  •   }
  •  }
  • }
  •  
  • class Program {
  •  public static int Main() {
  •   One O = new One(10);
  •   //обратите ВНИМАНИЕ, как создается объект вложенного класса
  •   One.Two T = new One.Two(20);
  •   Console.WriteLine(O.SumExternal(T));
  •   Console.WriteLine(T.SumInteranl(O));
  •   Console.ReadKey();
  •   return 0;
  •  }
  • }
30
30