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

How to call a method from same class in another method in C#?

现在我正在使用看起来像这样的 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();
    }
}

现在上面两种表示有什么区别。 它是相同的还是显示出一些不同的工作原理。 感谢任何帮助。

第二个只是前一个的加长版。如果你和静态方法在同一个class中,你不需要指定class名称,你可以,但你不需要(很像为指定this实例方法)。

在 class 内部没有区别,但是当您尝试从 class 外部调用它们时就会出现区别。对于实例方法,您需要 class 的实例,而对于不需要的静态方法。但是在你的 class 里面你可以说

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

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