正在将命名空间保存到变量

本文关键字:变量 保存 命名空间 | 更新日期: 2023-09-27 18:28:16

我只是在检查一个代码片段。在班上名列前茅的时候,这个家伙的命名空间是:

using System;
using System.Text;

但后来他做了一件我从未见过的事:

using input = System.Char;

稍后,他宣布了一个变量:

public input? data;

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

注意,这是一个相当旧的代码片段。

正在将命名空间保存到变量

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

你得问问原作者。但我们可以猜测,这使得以后更改为成为可能

using input = System.Int32;

然后

public input? data;

变得与众不同,但它一直在发挥作用。可以保留大部分/全部代码以继续为不同类型工作。

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

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

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

请参阅MSDN

它只是一个别名。使用它可能是为了在未来需要更改输入类型时,可以在一个地方快速轻松地进行更改,而不必在整个文件中查找和替换它的所有实例。