На этом шаге мы рассмотрим задание и использование псевдонимов.
Инструкция using, кроме известного нам способа использования, позволяет создавать еще и псевдонимы. С псевдонимами мы тоже имели дело. Например, мы использовали инструкцию string, которая является псевдонимом выражения System.String. Инструкция object является псевдонимом для выражения System.Object. Список можно продолжить.
При создании псевдонима инструкция using используется в таком формате:
using имя = выражение;
В данном случае идентификатор имя становится эквивалентом для инструкции, заданной выражением. Чтобы прояснить ситуацию, рассмотрим следующий пример:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace pr288_1 { // Используется первое пространство имен: using First; // Используется псевдоним для класса // из второго пространства имен: using myclass = Second.MyClass; // Описание первого пространства имен: namespace First { class MyClass { public int num; public MyClass(int n) { num = n; } public void show() { Console.WriteLine("Класс из First: " + num); } } } // Описание второго пространства имен: namespace Second { class MyClass { public string txt; public MyClass(string t) { txt = t; } public void show() { Console.WriteLine("Класс из Second: " + txt); } } } // Главный класс: class Program { static void Main() { // Объект класса из первого пространства имен: MyClass A = new MyClass(123); // Объект класса из второго пространства имен: myclass B = new myclass("text"); A.show(); B.show(); // Задержка: Console.ReadLine(); } } }
Результат работы программы совпадает с результатом из предыдущего шага:
Рис.1. Результат работы приложения
Данная программа практически совпадает с программой из предыдущего шага, за исключением лишь нескольких моментов. Как и ранее, мы описываем два пространства имен First и Second, и в каждом из них есть класс MyClass. Но на этот раз в программе есть инструкция using First. Поэтому в программе мы можем обращаться к классу MyClass из пространства имен First просто по имени MyClass, не указывая явно пространство имен First.
Кроме этого, мы использовали инструкцию
using myclass = Second.MyClass; .
На следующем шаге мы рассмотрим работу с датой и временем.