2011-03-07 117 views
3

我可以写什么字来访问类内的静态函数?像自我::在PHP中?C#中静态类访问

+0

你的问题还不清楚。请举例说明你想要做什么,从你想要打电话到哪里。 – 2011-03-07 10:41:18

+0

状态函数是在同一个类还是不同的类中定义的?你试过什么了? – ChrisF 2011-03-07 10:41:48

+0

在同一类中 – kusanagi 2011-03-07 10:43:22

回答

2

只需使用StaticMethodName(...)(在定义静态方法的类内)或ClassName.StaticMethodName(...)

+0

'.MethodName'将不起作用; # – jeroenh 2011-03-07 10:44:46

+0

@jeroenh:我修正了错字〜6分钟前:) – 2011-03-07 10:47:19

4

你只需要使用的类型名称:

static class Test 
{ 

    public static string GetSomething() 
    { 
    return "Something"; 
    } 

} 

string s = Test.GetSomething(); 

如果您在类是已经你只需要调用的方法。

+0

是的,但是课堂上它看起来并不漂亮 – kusanagi 2011-03-07 10:42:20

+0

你是什么意思,不是很漂亮?如果在类中,将类型名称从类中删除,则只需调用GetSomething()等。 – Lloyd 2011-03-07 10:44:16

+0

我想要显示调用函数属于当前类,它称为 – kusanagi 2011-03-07 10:49:46

2

C#中没有这样的关键字。您需要使用类名称,例如

MyClass.StaticMember 
+1

从类内部,你不需要为静态方法指定类名(尽管这不是一个错误)。 – 2011-03-07 10:42:52

0

写上班的名字。 例如:

public static class MyClass { 
public static void HelloWorld(){} 
} 

而且使用它像:

0

如果您的静态类被命名为等SampleClass,您可以SampleClass.YourFunction访问它的函数(); 。如果你想在其他静态方法中调用一个函数,只需使用该函数的名称即可。

0
public class Discover 
{ 
    static int myVariable = 1; 

    public Discover() 
    { 
     var test = myVariable; 
    } 
}