将名称空间保存到变量

时间:2013-08-19 13:54:33

标签: c# namespaces

我刚刚查看了代码段。在他的班级最顶层,这个人的名字命名如下:

using System;
using System.Text;

然后他做了我以前从未见过的事情:

using input = System.Char;

后来他宣布了一个变量:

public input? data;

所以我想知道,他为什么不做一个char变量?而不是将System.char保存到输入中,然后使用输入作为类型。

请注意,这是一个相当古老的代码段。

3 个答案:

答案 0 :(得分:3)

  

所以我想知道,他为什么不做一个char变量?

你必须问原作者。但我们可以猜测,它可以让以后改为

using input = System.Int32;

然后

public input? data;

变得与众不同但却一直在努力。可以保留大部分/全部代码以继续为不同类型工作。

因此它为输入类型提供单点定义(SPoD)。

但话虽如此,这是一种罕见的做法,并被泛型(List<T>)完全取代。

答案 1 :(得分:1)

对于命名空间或类型,这称为alias。将长名称空间或类型缩写为较短的名称是很常见的。

请参阅MSDN

答案 2 :(得分:0)

这只是一个别名。它可能被使用,以便如果输入类型在将来需要更改,它可以在一个地方快速轻松地更改,而不必在整个文件中查找和替换它的所有实例。