命名空间内的方法c#

rkr*_*012 10 c# syntax namespaces class

有没有办法在没有声明c#中的类的情况下调用名称空间内的函数.

例如,如果我有两个完全相同的方法并且应该在我的所有C#项目中使用,有没有办法只需要将这些函数放入一个dll中,然后在顶部说"使用myTwoMethods"并开始使用方法而不声明类?

现在,我做:MyClass.MyMethod();

我想做:MyMethod();

谢谢,罗希特

Asi*_*sik 28

2015年更新:不,你不能在C#中创建"自由函数",但从C#6开始,你将能够在不提及类名的情况下调用静态函数.C#6将具有"using static"功能,允许使用以下语法:

static class MyClass {
     public static void MyMethod();
}
Run Code Online (Sandbox Code Playgroud)

SomeOtherFile.cs:

using static MyClass;

void SomeMethod() {
    MyMethod();
}
Run Code Online (Sandbox Code Playgroud)


Dav*_*son 14

您不能在类之外声明方法,但可以使用类库项目中的静态帮助程序类来执行此操作.

public static class HelperClass
{
    public static void HelperMethod() {
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

用法(在添加对类库的引用之后).

HelperClass.HelperMethod();
Run Code Online (Sandbox Code Playgroud)

  • 那没有.方法必须包含在类或结构中. (2认同)