【发布时间】:2018-02-25 05:12:27
【问题描述】:
很简单的问题: 在 c#(在 Unity 中)中,我从附加到游戏对象的 Monobehaviour 类创建了一个新的自定义类:
CustomClass test1 = new CustomClass(t1, t2, 0.5f);
我想让这个类实例知道它的创建者是谁——它是一个协程,它应该检查它的父级是否被销毁。我当然可以这样传:
CustomClass test1 = new CustomClass(this, t1, t2, 0.5f);
///
CustomClass(MonoBehaviour creator, string t, string t2, float a);
但是,有没有更优雅(=自动)的方式来做到这一点?我知道静态函数的以下方法:
public static void Test(this MonoBehaviour behaviour, float a);
///
this.Test(0.5f);
类构造函数有类似的东西吗?
【问题讨论】:
-
您可以向
MonoBehavior添加一个扩展方法,该方法调用构造函数并传递this实例.. -
我不认为一个类有一种“优雅”的方式来引用它的所有者,因为这种方式违背了将事物封装在类中的概念。也许在所有者的析构函数中,你可以让它告诉协程停止执行,或者将它传递给不同的所有者,或者你需要做的任何事情。
标签: c# class unity3d constructor instance