调用静态函数而不提及C#中的静态类
c#
我正面临一个奇怪的问题。
我有一个从另一个函数调用的静态函数,而没有指定它的类名。我知道使用扩展方法是可能的,但事实并非如此。
这是一个演示案例的示例:
public static class Foo
{
public static int Bar()
{
......
}
}
public static void Main(string[] args)
{
int res = Bar();
}
我希望得到一个没有找到 Bar 函数的编译时错误。但不知何故没有。它是 Visual Studio/C# 错误吗?
回答
不,这不是错误。
我猜你在这个类中有一个using static 指令。
using static 指令指定一个类型,您可以在不指定类型名称的情况下访问其静态成员和嵌套类型。
可能你有这样的事情:
using static <YourNamespace>.Foo
- 当您尝试调用“Bar()”时,Visual Studio 可能为您添加了它。
- @MarkinChengdo 但是,这意味着您实际上并没有尝试上面的示例代码。因为它缺少 using 指令,因此应该无法编译。| 这对我来说也是新闻,但我有点期待。