是否可以在 C# 中使用全局方法

Is it possible to have Global Methods in C#

所以我有一个静态 class 让我们说它叫做 Worker,让我们说 我在其中有一个名为 Wait(float f) 的方法及其全部 public 所以我可以像这样在任何地方访问它:

Worker.Wait(1000);

现在我想知道有什么方法可以定义某种独特的 特殊方法,所以我可以像这样简短地做:

Wait(1000);

(没有它在 class 我会用它)?

不,您不能在 C# 中使用不属于 class 的方法。

不,你不能,方法属于 class,如果你执行 Wait(1) 是因为你在定义该方法的 class 中(或者是父 class)

编辑...

正如在 C# 5 中所说的那样,这可以在 C# 6 中完成,现在可以静态导入一些 classes...

看看 Scott Chamberlain 的 和 link 到 MSDN

With C# 6 this can be done。在文件顶部,您需要添加 using static Your.Type.Name.Here;.

namespace MyNamespace
{

    public static class Worker
    {
        public static void Wait(int msec)
        {
            ....
        }
    }
}

//In another file

using static MyNamespace.Worker;

public class Foo
{
    public void Bar()
    {
        Wait(500); //Is the same as calling "MyNamespace.Worker.Wait(500);" here
    }
}