Разбираю детально как использовать классы в качестве контейнеров. Разбираю, что такое namespace и как этим пользоваться. Все подробно и с примерами.
Исходники под катом.
Исходные коды целиком тут https://yadi.sk/d/5eK5ixQOej9DPw
Ниже только выборочные отрывки из программы к уроку.
//Тема урока: Классы как контейнер для методов //1. Первый класс, имя класса //2. неймспейс и ФИО класса //Console.WriteLine(Ivan.Name()); //Console.WriteLine(PetrIvanovich.Name()); //Console.WriteLine(PetrPetrovich.Name()); //3. using - выставляем контекст, кого мы знаем, а кого нет. С кем общаемся по дружески, а с кем по ФИО //3. Видимость метода из вне, как и область видимости переменной //public и private //Console.WriteLine(Stepan.FullName()); //4. местоположение класса //4.1. внутри общего файла //4.2. в отдельной файле //4.3. в отдельном проекте //5. Видимость класса //public и internal //6. что класть внутрь класса? //6.1. сходные методы и чужеродные методы //Console.WriteLine(Calc.Add(10, 10)); //Console.WriteLine(Calc.Sub(10, 5)); //Console.WriteLine(StringCalc.StringLength("Привет!")); //Console.WriteLine(Calc.Random(5, 10)); //6.2. родственные классы Console.WriteLine(Stepan.Body.HeadCount()); //7. видимость класса private //7.1. группировка методов внутри класса
namespace Lesson7 { //семейка братьев Ивановых namespace Ivanov.Ivanovich { //два "брата"-акробата public static class Ivan { public static string Name() { return "Иван Иванович Иванов"; } } public static class Petr { public static string Name() { return "Петр Иванович Иванов"; } } } }
namespace Lesson7 { //однофамилец namespace Ivanov.Petrovich { public static class Petr { public static string Name() { return "Петр Петрович Иванов"; } } } }