在C#中的静态导入


问题内容

C#是否具有Java静态导入之类的功能?

所以不用像写代码

FileHelper.ExtractSimpleFileName(file)

我会写

ExtractSimpleFileName(file)

而且编译器会知道我的意思是FileHelper中的方法。


问题答案:

从C#6.0开始,这是可能的:

using static FileHelper;

// in a member
ExtractSimpleFileName(file)

但是,早期版本的C#没有静态导入。

您可以使用该类型的别名来关闭。

using FH = namespace.FileHelper;

// in a member
FH.ExtractSimpleFileName(file)

或者,将静态方法更改为类型的扩展方法
-然后可以按以下方式调用它:

var value = file.ExtractSimpleFileName();