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