Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Использование псевдонимов

Использование псевдонимов

Ключевое слово 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.

Оглавление книги


Генерация: 1.079. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз