#626 – Nested Type Options
July 13, 2012 Leave a comment
When you declare one type inside of another, the outer type must be either a class or a struct. The inner (nested) type can be one of the following: class, struct, interface, delegate or enum.
Here are a few common examples.
A struct in a class:
public class Dog { public string Name { get; set; } public struct DogCollar { public int Length; public string Material; } }
A delegate type defined in a class:
public class Dog { public string Name { get; set; } public delegate void BarkHandler(object sender, BarkEventArgs e); }
An enum in a class:
public class Dog { public string Name { get; set; } public enum Temperament { Docile, Excitable, Vicious }; }