C# using语句的应用范围

4

我有一个问题关于同时在多个文件中使用using语句。

我已经为一个类创建了一个重载,我想在我的程序中使用它。 为了在其中一个文件中使用它,我添加了以下using语句。

using ClassName = CustomClassName;

这可以运作,但仅适用于特定文件。

有没有方法让它适用于整个项目?


6
这是一个using指示符而非using语句。 - Steve
4个回答

6

不。

using 指令是每个文件独立的。

你可以创建一个包含它的模板。


参考样例编辑模板:https://dev59.com/CHI95IYBdhLWcg3w-DBb - P.Brian.Mackey
谢谢您的建议,但这是一个现有的项目,并且在许多文件中使用。因此,模板并不是我正在寻找的东西。 - Tom

5
不,C#没有此类功能。

2
这被称为类型别名,重复使用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
}

实际上,您可以将这种别名定义得更明确,但不能超出文件范围。

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接