XLua使用过程中的异常记录

记录腾讯的开源Lua计划XLua的使用过程中遇到的各种异常/解决记录

1.LuaException: c# exception:Non-static method requires a target.,stack: at System.Reflection.MonoMethod.Invoke
调用非静态方法的时候要使用‘:’,而不能使用‘.’

    //Test.class
    public class Test {
      public void PrintStr()
      {
            Debug.Log("...");
       }
    }
--Test.lua
  function start()
    //--CS.Test().PrintStr()<-Wrong
    CS.Test():PrintStr();
  end

InvalidCastException: This delegate must add to CSharpCallLua: System.Action
可能造成的因素之一:代码还没有生成
解决办法:XLua->Generate Code
可能造成的因素之二:没有将用到的类型加到CSharpCallLua编译列表中

public static List<Type> CSharpCallLua = new List<Type>()
    {
        typeof(Action),
        //添加需要使用的泛型
        typeof(Action<bool>),
        typeof(UnityAction),
    };
    原文作者:Kim_9527
    原文地址: https://www.jianshu.com/p/cf7a81d8029f
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞