Использование псевдонимов
Использование псевдонимов
Ключевое слово C# using можно также использовать для создания псевдонимов абсолютных имен типов. После создания псевдонима вы получаете возможность использовать его как ярлык, который будет заменен полным именем типа во время компиляции. Например:
using System;
using MyShapes;
using My3DShapes;
// Ликвидация неоднозначности с помощью псевдонима.
using The3DHexagon = My3DShapes.Hexagon;
namespace MyApp {
class ShapeTester {
static void Main(string[] args) {
// На самом деле здесь создается тип My3DShapes.Hexagon.
The3DHexagon h2 = new The3DHexagon();
…
}
}
}
Этот альтернативный синтаксис using можно использовать и при создании псевдонимов для длинных названий пространств имен.
Одним из длинных названий в библиотеке базовых классов является System.Runtime.Serialization.Formatters.Binary. Это пространство имен содержит член с именем BinaryFormatter. Используя синтаксис using, экземпляр BinaryFormatter можно создать так, как показано ниже:
using MyAlias = System.Runtime.Serialization.Formatters.Binary;
namespace MyApp {
class ShapeTester {
static void Main(string[] args) {
MyAlias.BinaryFormatter b = new MyAlias.BinaryFormatter();
}
}
}
или же с помощью традиционного варианта использования директивы using.
using System.Runtime.Serialization.Formatters.Binary;
namespace MyApp {
class ShapeTester {
static void Main(string [] args) {
BinaryFormatter b = new BinaryFormatter();
}
}
}
Замечание. Теперь в C# предлагается и механизм разрешения конфликтов для одинаково названных пространств имен, основанный на использовании спецификатора псевдонима пространства имен (::) и "глобальной" метки. К счастью, указанный тип коллизий возникает исключительно редко. Если вам требуется дополнительная информация по этой теме, прочитайте мою статью "Working with the C# 2.0 Command Line Compiler" (Работа с компилятором командной строки C# 2.0), которую можно найти на страницах http://msdn.microsoft.com.