2013-08-19 2 views
2

Я просто проверял фрагмент кода. На вершине своего класса этот парень имел его пространство имен, как:Сохранение пространства имен переменной

using System; 
using System.Text; 

но потом он сделал что-то я никогда не видел раньше:

using input = System.Char; 

Позже он объявляет переменную:

public input? data; 

Так что мне было интересно, почему он просто не делает переменную char? вместо того, чтобы сохранять System.char на вход, а затем использовать ввод как тип.

Обратите внимание, что это был довольно старый фрагмент кода.

+0

Не пытайтесь понять, что находится в неясном сознании чужого кода, это может повредить вашему психическому здоровью :-) – Oscar

ответ

2

Так мне было интересно, почему он просто не делает переменную обугленного?

Вам придется задать вопрос автору. Но мы можем предположить, что позволяет впоследствии перейти к

using input = System.Int32; 

, а затем

public input? data; 

становится что-то другое, но он продолжает работать. Можно было бы сохранить большинство/весь код для продолжения работы для другого типа.

Таким образом, он дает единую точку определения (SPoD) для типа ввода.

Но, сказав это, это редкая практика и полностью заменена дженериками (List<T>).

0

Это просто псевдоним. Вероятно, он использовался так, что если тип ввода должен был измениться в будущем, его можно было бы быстро и легко изменить в одном месте, вместо того чтобы находить и заменять все его экземпляры в файле.

1

Это называется alias для пространства имен или типа. Обычно принято сокращать длинные пространства имен или типы до более коротких имен.

См MSDN

Смежные вопросы