如何在C#中的另一个方法中调用同一个类的方法?

时间:2017-10-30 10:49:37

标签: c# .net static-methods

现在我正在使用看起来像这样的c#代码

public class MyClass
{
    public static void Method1()
    {
        //Do something
    }

    public void Method2()
    {
        //Do something
        Method1();
    }
}

现在如果我将代码替换为:

public class MyClass
{
    public static void Method1()
    {
        //Do something
    }

    public void Method2()
    {
        //Do something
        MyClass.Method1();
    }
}

现在上面2个表示的区别是什么。 它是相同的还是显示出一些不同的工作方式。 任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:4)

第二个只是前一个版本的较长版本。如果您与静态方法在同一个类中,则不需要指定类名,但是您不需要(很像为实例方法指定this)。

答案 1 :(得分:1)

在课堂内没有区别,但是当你尝试从课堂外调用它们时会产生差异。例如,您需要一个类的实例,而对于静态方法则不需要。但在课堂上你可以说

public class MyClass
{
    public static void Method1()
    {
        //Do something
    }

    public void Method2()
    {
        Method1();  //you don't have to qualify it
    }
}