【发布时间】:2013-05-30 21:36:28
【问题描述】:
我对同时处理多个文件的 using 语句有疑问。
我为我想在我的程序中使用的类创建了一个重载。 为此,我在我的一个文件中添加了以下 using 语句。
using ClassName = CustomClassName;
这有效,但仅适用于该特定文件。
有没有办法让它适用于我的整个项目?
【问题讨论】:
-
这是 using 指令而不是 using 语句
我对同时处理多个文件的 using 语句有疑问。
我为我想在我的程序中使用的类创建了一个重载。 为此,我在我的一个文件中添加了以下 using 语句。
using ClassName = CustomClassName;
这有效,但仅适用于该特定文件。
有没有办法让它适用于我的整个项目?
【问题讨论】:
没有。
using 指令针对每个文件。
您始终可以创建包含它的模板。
【讨论】:
没有; C# 没有任何此类功能。
【讨论】:
这称为类型别名,重新使用using 关键字可能会令人困惑,但它不是导入。
此语句的目的是使某个类可以通过不同的名称访问。当您有不同的程序集链接到您的项目而意外地具有相同名称的类时,这很有用。
例如,如果您有在 A 命名空间下定义类 Foo 的 A.dll 和在 B 命名空间下定义 Foo 类的 B.dll 程序集,则可以使用:
using FooA = A.Foo;
using FooB = B.Foo;
区分两者。
这个范围通常是当前文件,不过,如果你碰巧在同一个文件中定义了多个命名空间,你可以将其范围限定在文件中的命名空间:
using FooA = A.Foo;
namespace N1
{
// knows about FooA;
using FooB = B.Foo;
}
namespace N2
{
// knows about FooA
// does not know about FooB
}
实际上,您可以使这个别名更明确,但不超过文件的范围。
【讨论】:
一个简单的解决方案是创建一个模板并将其用于您的项目或类中。这将为您提供一种根据需要使用欲望使用和指令的方法。
这里是创建模板的好示例。
http://www.rhyous.com/2010/02/17/how-to-modify-the-default-new-class-template-in-visual-studio-2008/
http://visualstudiomagazine.com/articles/2008/09/01/define-your-own-item-templates.aspx
【讨论】: