Вложенный тип
Класс или структура может содержать другой
class, struct, enum
или interface. Полное имя записывают
как Outer.Inner. Вложенный тип видит
члены внешнего, если модификатор доступа это
допускает.
Синтаксис
class Outer
{
public class Inner { }
}
Пример
Давайте вызовем метод вложенного класса:
using System;
class Outer
{
public class Inner
{
public void Show()
{
Console.WriteLine("inner");
}
}
}
class Program
{
static void Main()
{
var obj = new Outer.Inner();
obj.Show();
}
}
Результат выполнения кода:
"inner"
Пример
Давайте обратимся к вложенному перечислению:
using System;
class Settings
{
public enum Mode { Off, On }
}
class Program
{
static void Main()
{
var mode = Settings.Mode.On;
Console.WriteLine(mode);
}
}
Результат выполнения кода:
"On"
Пример
Давайте используем вложенную структуру с полем:
using System;
class Container
{
public struct Item
{
public int Id;
}
}
class Program
{
static void Main()
{
var item = new Container.Item { Id = 5 };
Console.WriteLine(item.Id);
}
}
Результат выполнения кода:
5