-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ライブラリ (3.5)よりの .NET Framework 4 で導入されました。そのため、4.0 を必要Expressionとするコードを扱っていて、3.5 を使用している場合、そのほとんどはコンパイルできますが、.ExpressionIfThenElse

AluminiumLuaへの最新のコミットには、コメントとして

今、.NET 4.0 が必要です

したがって、最新のコードを使用している場合は、この指示に従う必要があります。

残念ながら、WP8 や XNA で利用できるフレームワークと利用できないフレームワークの部分については、あまり詳しくありませんが、これがいくつかの有用な手がかりを提供することを願っています.

于 2013-03-28T15:49:44.227 に答える