使用TryGetComponent来返回<T&gt.的Child。

问题描述 投票:0回答:1

我正在为一个Unity项目使用c#编写一个组件脚本。我希望能够从一个gameobject中获得一个组件或任何继承的子组件。我一直在使用下面的方法。

if(Buffets[index].TryGetComponent(out Fruit fruit))
{ 
    ... 
}

我一直在使用以下方法: Buffets 是一个 List<GameObject> 其中有元素。

我的问题是,如果 GameObject 元素有 banana 组件,它继承自 fruitజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజ TryGetComponent 将返回 false 也不做水果的香蕉。

我想知道,如果有一个功能或方法来获得任何水果的孩子组件这种方式。并举例说明,将不胜感激。

c# unity3d inheritance polymorphism
1个回答
0
投票
var fruit = Buffets[index].GetComponent<Fruit>()
// If fruit is not null
if (!fruit)
{

}
© www.soinside.com 2019 - 2024. All rights reserved.