c 中的静态导入#

2022-08-31 17:11:31

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

所以而不是像编写这样的代码

FileHelper.ExtractSimpleFileName(file)

我可以写

ExtractSimpleFileName(file)

编译器会知道我的意思是来自FileHelper的方法。


答案 1

从 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();

答案 2

不可以,C# 中不存在此类功能。您需要指定静态方法所属的类,除非您已经位于同一类的方法中。

在C#中,尽管你有模仿这一点的扩展方法


推荐