keltkelt Asked:2020-07-12 21:18:22 +0000 UTC2020-07-12 21:18:22 +0000 UTC 2020-07-12 21:18:22 +0000 UTC 从#。从同一类中的方法调用方法 772 好吧,这是一个非常愚蠢的问题:( 我把逻辑塞进了方法中,每个函数执行自己的时候对我来说更方便。 你必须一直这样做 myclass.doing1(new myclass().doing2(new myclass().doing3())) 这不起作用,如果不创建它们也不起作用的类的实例。他们如何在夏普做到这一点? 得到一些新信息,非常感谢! c# 2 个回答 Voted user176262 2020-07-12T21:28:14Z2020-07-12T21:28:14Z MyClass myclass = new MyClass(); myclass.doing1( myclass.doing2( myclass.doing3() ) ); 或者 public class MyClass { ... public void DoIt() { doing1( doing2( doing3() ) ); } } MyClass myclass = new MyClass(); myclass.DoIt(); Best Answer trollingchar 2020-07-12T22:23:33Z2020-07-12T22:23:33Z 如果您需要函数在没有实例化的情况下工作,请将它们设为静态。例子: public static class Mathf { public static float Sqrt (float x) {...} public static float Sin (float x) {...} public static float Cos (float x) {...} } 并在类名后加一个点:x = Mathf.Sqrt (Mathf.Cos (x)); 如果你using static在文件的开头使用它,那么类名将是可选的。 现在我将解释一些关于实例和this. 粗略地说,OOP 的发明是为了使用函数集简化数据集的工作,将数据和函数组合成一个整体并命名为类。 当您创建一个类的实例时,您会创建它所具有的一组变量,仅在 OOP 中它们被称为字段。构造函数根据类的逻辑对它们进行初始化。因此,如果您不需要使用字段,那么如果方法是静态的,则可以避免在构造函数中使用它们。 在非静态方法中,您可以使用this. 这是对调用该方法的实例的引用。如果您编写myClass.f1(),则该方法f1可以访问非静态字段和实例方法myClass:this.f2()或者只是f2(). 静态方法是在没有实例的情况下调用的,因此您不能在那里this显式或隐式地使用它们。
或者
如果您需要函数在没有实例化的情况下工作,请将它们设为静态。例子:
并在类名后加一个点:
x = Mathf.Sqrt (Mathf.Cos (x));如果你
using static在文件的开头使用它,那么类名将是可选的。现在我将解释一些关于实例和
this. 粗略地说,OOP 的发明是为了使用函数集简化数据集的工作,将数据和函数组合成一个整体并命名为类。当您创建一个类的实例时,您会创建它所具有的一组变量,仅在 OOP 中它们被称为字段。构造函数根据类的逻辑对它们进行初始化。因此,如果您不需要使用字段,那么如果方法是静态的,则可以避免在构造函数中使用它们。
在非静态方法中,您可以使用
this. 这是对调用该方法的实例的引用。如果您编写myClass.f1(),则该方法f1可以访问非静态字段和实例方法myClass:this.f2()或者只是f2().静态方法是在没有实例的情况下调用的,因此您不能在那里
this显式或隐式地使用它们。