c#中有全局方法吗?

本文关键字:方法 全局 | 更新日期: 2023-09-27 18:17:06

我有一个静态类我们说它叫Worker,我们说在它里面有一个方法叫做Wait(float f)它是公共的所以我可以在任何地方访问它,像这样:

Worker.Wait(1000);

现在我想知道是否有什么方法可以定义某种唯一性特殊方法,所以我可以把它写短一点,像这样:

Wait(1000);

c#中有全局方法吗?

使用c# 6可以做到这一点。在你的文件的顶部,你需要添加一个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
    }
}

不,c#中不能有非类的方法

不,你不能,方法属于一个类,如果你等待(1)是因为你在一个类中,该方法被定义(或父类)

<标题>编辑…

如上所述,这在c# 5之前是正确的,现在可以在c# 6中完成,它可以静态导入一些类…

看看Scott Chamberlain"s在这里回答并链接到MSDN