unity静态方法里面调用非静态方法
时间: 2023-10-16 08:09:18 浏览: 102
在Unity中,静态方法是指可以直接通过类名调用的方法,而非静态方法是指需要先创建对象实例才能调用的方法。
如果你需要在静态方法中调用非静态方法,你需要先创建对象实例。这可以通过以下方式实现:
1. 在静态方法中创建对象实例:
```csharp
public class MyClass {
public int MyMethod() {
return 42;
}
}
public static class MyStaticClass {
public static void MyStaticMethod() {
MyClass myClass = new MyClass();
int result = myClass.MyMethod();
Debug.Log(result);
}
}
```
在上述示例中,MyStaticMethod() 静态方法中创建了一个 MyClass 对象实例,并调用了其 MyMethod() 非静态方法。
2. 将对象实例作为参数传递给静态方法:
```csharp
public class MyClass {
public int MyMethod() {
return 42;
}
}
public static class MyStaticClass {
public static void MyStaticMethod(MyClass myClass) {
int result = myClass.MyMethod();
Debug.Log(result);
}
}
```
在上述示例中,MyStaticMethod() 静态方法接受一个 MyClass 对象实例作为参数,并调用了其 MyMethod() 非静态方法。
无论哪种方式,都需要先创建对象实例才能调用非静态方法。
阅读全文