如何在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
方法前添加public
或internal
,就可以了。
此外,最好不要调用方法来避免与属性混淆。
你需要让myclass.get成为一个公共方法。
成员的默认可访问性是最可能的私有。 这意味着您的方法是私有的,因为您没有指定任何可访问性级别。
您必须将其指定为公共(或内部,如果您只需要在同一项目中访问)才能到达它:
public static void get()
要么:
internal static void get()
您可以在静态方法上拥有所需的任何访问修饰符。
访问当然只限制了它在课堂外使用的方式。
但是,静态方法不能将this关键字用作父类的引用。
根据方法的访问级别,您可以静态调用方法:
ClassName.Property ClassName.Method ClassName.Field