1:相信大家都有用到GetComponentsInChildren這個方法吧?但是再用這個方法的時候,
如果GetComponentsInChildre<T>(),
如果父對象和子對象都存在相同的T,那麼這個得到的數組也會包含父對象中的T,這個在很多情況下我們是不要的,
那麼如何解決這個問題呢?
2:解決方法
相信大家要寫肯定都會啦,這裏我是寫了擴展方法(具體C#擴展方法,找度娘啦)
1:首先創建一個MyExtension類,不繼承mono(注意static),然後寫了一個方法
然後使用
就可以了,不過GetComponentsInChildren有個重載方法,我在這裏小提一下
public T[] GetComponentsInChildren<T>(bool includeInactive);
這個重載,默認是false,includeInactive=true,那麼在獲取子對象的時候如果T對象是關閉的仍然可以得到,
如果includeInactive=false, 那麼就不會獲得關閉的T對象
爲true的時候
下面我們修改一下自己寫的擴展方法(其實沒啥修改QAQ)
然後也像原來那麼用就行了哈
ok了!!!