调用静态函数而不提及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 指令,因此应该无法编译。| 这对我来说也是新闻,但我有点期待。

以上是调用静态函数而不提及C#中的静态类的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>