(Unity) 如何从 GameObject 获取通用组件 class?

(Unity) How to get generic component class from GameObject?

如何在 Unity 中从生成的 GameObject 获取通用组件?

即我有一个基础通用 class:

class Base<T> : MonoBehaviour where T : MonoBehaviour 
{
    public Foo() {}
}

并导出 class:

class Example : Base<Example>
{

}

而且我想从生成的 GameObject 中获取这个 class,我将其作为组件附加到其中。

我试过了,但我的结果是空的,所以我决定寻求帮助:)

// @object - Spawned before and exists.
Base<MonoBehaviour> tmp = @object.GetComponent<Base<MonoBehaviour>>();

尝试使用接口实现:

class Base<T> : MonoBehaviour, IBase where T : MonoBehaviour 

并从 GO 获取界面:

var tmp = @object.GetComponent<IBase>();