Expression <tdelegate>的编译方法在Android </tdelegate>上发生致命错误

时间:2013-11-22 13:53:46

标签: c# compilation lambda unity3d expression

Compile()方法是否会产生致命错误,足以关闭android平台上的应用程序?
当我在android平台上调用该方法大约50~100次时,我的应用程序被关闭了。但是在UnityEditor上运行良好 没有空值或无效的参数或任何表达式。并且android上的lambda.ToString()登录与Unity Editor上的东西完全相同 我不知道为什么使用这种简单表达式的方法会使应用程序关闭。这让我发疯了。

protected virtual object VisitMemberAccess(MemberExpression m)
{
    var member = Expression.Convert(m, typeof(object));
    var lambda = Expression.Lambda<Func<object>>(member);
    var getter = lambda.Compile(); //<===== this is the one who gets me crazy.
    return getter();
}

0 个答案:

没有答案