在Unity中引用NVelocity出现了一个小问题,反射类型不能转换

时间:2022-12-10 17:36:43
其实不算是unity的 就是c#中我想通过Nvelocity的这个模板引擎 生成一些我想要的变量
我可以传List<string> xxx  或者 string  或者单一的一个匿名类 里面的一些数据都可以
但是我定义了一个类 
 public class BTNDEFINEANDFUNC
{
    public string btnName;
    public string btnFunc;
}
public List<BTNDEFINEANDFUNC> btnFunc = new List<BTNDEFINEANDFUNC>();  当我把这个list传过去 模板文件的时候 就除了问题 大概就是反射找不到类别 这样怎么处理

 var nesss = new { name = mCurData.className, definename = mCurData.defineName , awakefunc = mCurData.awakeFunc, ss = mCurData.btnFunc, authorname = author , datatime = System.DateTime.Now, btnfuncc = mCurData.btnFunc };
        context.Remove("datas");
        context.Put("datas", nesss);
我也确定这边我一定是传过来参数了
另一边模板文件代码

#foreach($btnf in $datas.btnfuncc)
    void ${btnf.btnFunc}()
    {
    }
    #end



这个是报错的提示  有没有什么方法解决 谢谢各位
InvalidCastException: Cannot cast from source type to destination type.
NVelocity.Runtime.Parser.Node.MapGetExecutor.Discover (System.Type clazz)

2 个解决方案

#1


额,Nvelocity没用过的说,提示是说无法从源类型转换为目标类型。

这个我只能想解决思路,比如,先不在unity,先在.net的应用里,看看,程序对不对。
如果对的话,就是看是不是少了什么引用或者配置了。

#2


.Net 也同样报错,╮(╯▽╰)╭  谢谢提供这个思路 很对

#1


额,Nvelocity没用过的说,提示是说无法从源类型转换为目标类型。

这个我只能想解决思路,比如,先不在unity,先在.net的应用里,看看,程序对不对。
如果对的话,就是看是不是少了什么引用或者配置了。

#2


.Net 也同样报错,╮(╯▽╰)╭  谢谢提供这个思路 很对