如下是我的腳本基類(ViewModelBase也是基類)
[RequireComponent(typeof(CanvasGroup))]
public abstract class UnityGuiView<T> : MonoBehaviour, IView<T> where T : ViewModelBase
{}
除錯程序中發現GameObject.GetComponent<UnityGuiView<ViewModelBase>>();無法獲得腳本物件
下面是其中一個腳本示例
public class LoginView: UnityGuiView<LoginViewModel>
{}
uj5u.com熱心網友回復:
可以這樣 gameObject.GetComponent<LoginView>();UnityGuiView泛型類是無法作為組件添加到物件上的,當然獲取不到哇。
uj5u.com熱心網友回復:
如果這樣的話 我每一個派生都要寫一遍了 我想寫個公共方法來獲得組件的
uj5u.com熱心網友回復:
你不就是想通過GetComponent獲取到T型別的物件嘛。這是不可能的它在你LoginView中已經被泛化了,所以你只能訪問到LoginView腳本(注意是腳本不是普通類)。另外T不能是腳本吧轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/15637.html
標籤:Unity3D
