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

时间:2016-11-09 20:11:21

标签: c# static-libraries static-methods

所以我有一个静态类让我们说它叫做Worker,让我们说 我在其中有一个名为Wait(float f)的方法,所有公共所以我可以在任何地方访问它:

Worker.Wait(1000);

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

Wait(1000);

(没有在课堂上我会用它)?

3 个答案:

答案 0 :(得分:8)

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
    }
}

答案 1 :(得分:3)

不,你不能拥有不属于C#类的方法。

答案 2 :(得分:3)

不,你不能,方法属于一个类,如果你做Wait(1)是因为你在一个定义了该方法的类(或者是父类)

编辑...

据评论说C#5是正确的,这可以在C#6中完成,现在可以静态导入一些类......

查看 Scott Chamberlain的 answer here并链接到MSDN