在另一个文件中使用别名
本文关键字:别名 另一个 文件 | 更新日期: 2023-09-27 18:19:27
是否可以在整个程序集中使用一个文件中定义的别名?
例如,在Foo.cs,我有
using IO = System.IO;
namespace Foo
{}
如何在FooBar.cs 中使用别名"IO"
namespace Foo.Bar
{}
根据MSDN
The scope of a using directive is limited to the file in which it appears.
所以答案是否定的。您不能在一个文件中定义别名并在整个程序集中使用它
最好定义全局/共享using
指令别名。我最近在处理多个文件和方法中相当长的类名时考虑了这个主题。
需要考虑的一种可能性是使用代码生成工具,将别名添加到新文件中。然而,这似乎有点迂腐,因为只需复制并粘贴每个需要的文件的别名是非常容易的
hrzafer的评论中提到了另一个可以考虑的选项:
一个变通办法是继承
class IO : System.IO
忽略坏语法——System.IO
是namespace
,不能由class
继承——hrzafer的意思可能更像:
class Dir : System.IO.DirectoryInfo
尽管这可以作为简单类的临时别名,但它很可能会引起混淆,因为继承的目的是重用、扩展和修改基类中定义的行为。
此外,这种方法不适用于sealed
或static
类。