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)

或者,将静态方法更改为类型上的extension method,然后可以将其调用为:
var value = file.ExtractSimpleFileName();

08-08 06:17