今天正好需要热更一个东西,在C#中,有一个Dictionary<string, ABC> abcDic 没有实例化。需要在lua中进行实例化 new 一下。
在官方文档里面有提到过这一块,大家可以自行看一看https://github.com/Tencent/xLua/blob/master/Assets/XLua/Doc/faq.md#%E6%B3%9B%E5%9E%8B%E5%AE%9E%E4%BE%8B%E6%80%8E%E4%B9%88%E6%9E%84%E9%80%A0
其中v2.1.12版本是在2018.7.9更新的,大家注意版本号https://github.com/Tencent/xLua/blob/master/Assets/XLua/CHANGELOG.txt
这里之所以在博客里复述一遍是因为,我们大部分的List或者Dictionary中,value用的都是自定义的类,然后要是使用旧版本的xlua,我们这种小白可能就会碰到一个问题,没有使用Assembly-CSharp程序集关键字导致报错。当你要实例化使用自定义类的Dictionary时,如ABC,应该如下:
self.adcDic = CS.System.Activator.CreateInstance(CS.System.Type.GetType('System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[MyExamples.ABC, Assembly-CSharp]],mscorlib'))