我需要通过字符串变量从对象中获取组件。我该怎么办?
这是我目前的代码:
Canvas.GetComponent<Global_Variables>().Active_Figure.GetComponent(Script_Name).Cancel();
但是我在控制台中收到以下错误:
Assets / Scripts / Cell.cs(62,20):错误CS1061:输入UnityEngine.Component&#39;不包含取消&#39;的定义并且没有扩展方法取消&#39;类型为UnityEngine.Component&#39;
答案 0 :(得分:1)
您必须转换GetComponent()
返回的结果。
我将假设Cancel
函数是在您的脚本继承(或实现)的名为Cancelable
的类(或接口)中定义的。
Cancelable myScript = Canvas.GetComponent<Global_Variables>().Active_Figure.GetComponent(scriptName) as Cancelable;
myScript.Cancel();
编辑:
下次,不要忘记发布正确格式化的代码,并提供任何有助于解决问题的其他信息(例如控制台提供给您的错误)