如何在c#中访问静态方法?

当我们在类中有静态方法时,它只访问静态成员,静态方法只能访问类名。 所以我无法访问我的示例中的静态方法:

class myclass { int i ; static int j ; static void get() { j = 101; Console.WriteLine(j.ToString ()); } public void test() { i = 11; j = 12; Console.WriteLine(i.ToString()); Console.WriteLine(j.ToString()); } } class Program { static void Main(string[] args) { myclass clsmyclas = new myclass(); clsmyclas.test(); Console.ReadLine(); } } 

}

你应该把它改成

 public static void get() 

并使用它访问它

 myclass.get(); 

不是class级的实例。

你的问题很简单。 static void方法的默认访问器是private 。 只需在get方法前添加publicinternal ,就可以了。

此外,最好不要调用方法来避免与属性混淆。

你需要让myclass.get成为一个公共方法。

成员的默认可访问性是最可能的私有。 这意味着您的方法是私有的,因为您没有指定任何可访问性级别。

您必须将其指定为公共(或内部,如果您只需要在同一项目中访问)才能到达它:

 public static void get() 

要么:

 internal static void get() 

您可以在静态方法上拥有所需的任何访问修饰符。

访问当然只限制了它在课堂外使用的方式。

但是,静态方法不能将this关键字用作父类的引用。

根据方法的访问级别,您可以静态调用方法:

 ClassName.Property ClassName.Method ClassName.Field