我有以下代码。
GameObject target;
dynamic script;
script = target.GetComponent("ScriptName");
script.changeState();
虽然我正在使用 unity3d 工具进行游戏开发,但我觉得这更多地涉及到一个通用的 c# 问题。在代码中,我正在获取一个对象,该对象是链接到另一个游戏对象的脚本。我的目标是调用属于“目标”的脚本的 changeState() 函数。这会产生错误,因为它无法确定 changeState() 是否属于动态变量“脚本”。是否有任何选项可以关闭它(类似于#define pragma strict)?还有其他解决方法吗?
注意:附加到该脚本引用的 GameObject 的脚本具有 changeState() 函数的实现。