如何在c#中的非静态方法中调用静态方法

时间:2014-02-03 16:41:26

标签: c# .net static-methods

如何在static中的non static方法中调用c#方法?

采访者给了我一个场景:

class class1
{

    public static void method1(){}

    public void method2()
    {
        //call method1()
    }

我们怎么做呢

4 个答案:

答案 0 :(得分:11)

通常的做法是使用类名调用静态方法。

请参阅:Static Classes and Static Class Members (C# Programming Guide)

  

静态成员始终由类名访问,而不是   实例名称。无论如何,只存在静态成员的一个副本   创建了多少个类的实例。

所以你的电话会是:

class1.method1();

没必要

您可以调用不带类名的静态方法,如:

method1();

但是你只能在拥有静态方法的类中执行此操作,不能在该类之外调用没有类名的静态方法。

答案 1 :(得分:4)

class1.method1();

与调用任何其他静态方法相同

显然(正如Selman22指出的那样) - 类名不是必需的。

所以

method1();

也可以正常工作

答案 2 :(得分:3)

如果您在某个类中调用该方法,则只需将其称为

    public void method2()
    {
        method1();  

    }

但如果它应该从另一个类调用,则必须在它之前加上类的名称

public void method2()
        {
            class1.method1();  

        }

答案 3 :(得分:2)

输入方法名称,然后编译并运行它:

class class1
{
    public static void method1(){}

    public void method2()
    {
        method1()
    }
}