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

时间:2010-03-26 06:14:40

标签: c# oop

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

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();
    }
}

}

5 个答案:

答案 0 :(得分:9)

您应该将其更改为

public static void get() 

并使用

访问它
myclass.get();

不是班级的实例。

答案 1 :(得分:5)

您的问题很简单。 static void方法的默认访问者是private。只需在public方法前添加internalget,就可以了。

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

答案 2 :(得分:1)

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

答案 3 :(得分:1)

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

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

public static void get()

或:

internal static void get()

答案 4 :(得分:0)

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

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

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

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

ClassName.Property
ClassName.Method
ClassName.Field