在 C# 中使用字符串调用方法时"Object does not match target type"



我正在尝试使用字符串调用方法,但有一个问题:

void make_moviment(string mov,Vector3 new_mov){
    GameObject past_panel = GameObject.Find(actual_level.ToString());
    Type t = Type.GetType(past_panel.GetComponents<MonoBehaviour>()[0].GetType ().Name);
    MethodInfo method = t.GetMethod("get_answer");
    method.Invoke(t,new object[] { mov }));   <--- PROBLEM HERE
}

始终存在与最后一行相关的错误"对象与目标类型不匹配"。你有什么建议吗?

method.Invoke(t,new object[] { mov }));

与调用相同

t.WhateverTheMethodIs(mov);

tType,而不是那种类型的对象。您需要传入对象以在那里调用该方法。(如果方法是静态的,则为 null)。

相关内容

最新更新