-10

我有这样的错误:

错误 1“System.Linq.Expressions.Expression”不包含“IfThenElse”的定义

如何省略?

这是代码(用于 C# 的 AluminiumLua 库):

public virtual void IfThenElse()
    {
        var Else = Expression.Call(stack.Pop(), LuaObject_AsFunction);
        var Then = Expression.Call(stack.Pop(), LuaObject_AsFunction);
        var Cond = Expression.Call(stack.Pop(), LuaObject_AsBool);
        stack.Push(Expression.IfThenElse(
            Cond,
            Expression.Call(Then, LuaFunction_Invoke, Expression.NewArrayInit(typeof(LuaObject), new Expression[] { })),
            Expression.Call(Else, LuaFunction_Invoke, Expression.NewArrayInit(typeof(LuaObject), new Expression[] { }))
        ));
    }
4

2 回答 2

0

Expression.IfThenElse在 .NET Framework 4 中引入,Expression库(3.5)。因此,如果您正在使用一些Expression需要 4.0 的代码,并且您使用的是 3.5,那么大部分代码可能会编译,但不会编译IfThenElse

我注意到最近对 AluminiumLua 的承诺已作为其评论

现在我们需要 .NET 4.0

因此,如果您使用的是最新代码,则需要遵循此说明。

恐怕我并没有真正了解 WP8 和/或 XNA 中哪些框架部分可用或不可用,但希望这将提供一些有用的线索。

于 2013-03-28T15:49:44.227 回答
-1

我认为你犯了一个错误。我认为是 IfElse

于 2021-12-12T21:58:41.393 回答