向下投射整个阵列



在Unity中,我试图检测对象上文本类型的所有组件

this.GetComponents(typeof(Text))

但是它返回一个组件数组。由于我知道每个组件都必须是text类型,所以我应该能够向下转换它。我试着把它明确地投射到

Text[] a = (Text[])this.GetComponents(typeof(Text));

但那没用。Text是一个派生类的组件,但我不知道如何向下转换数组,所以我可以使用与类型Text关联的方法。有人能告诉我如何将数组转换为Text类型的数组吗?

从文档中,您可以使用泛型方法GetComponents,而无需键入每个方法的强制类型转换。

using UnityEngine;
public class Example : MonoBehaviour
{
void Start()
{
HingeJoint[] hinges = GetComponents<HingeJoint>();
for (int i = 0; i < hinges.Length; i++)
{
hinges[i].useSpring = false;
}
}
}

您应该使用通用语法:this.GetComponents<Text>()。这将返回一个Text[],因此无需再进行强制转换。

相关内容

  • 没有找到相关文章

最新更新