using EC.Helper.RabbitFunc.Expressions; using EC.Helper.RabbitFunc.Runtime; namespace EC.Helper.RabbitFunc.Extern; [ExternLambda] internal class CosLambdaExpression : SystemLambdaExpression { public CosLambdaExpression() : base(typeof(Math).GetMethod(nameof(Math.Cos), new Type[] { typeof(double) }), "cos", new BodyExpression(), Expression.Parameter(typeof(double), "x")) { } private class BodyExpression : Expression { public override object Eval(RuntimeContext context) { return Math.Cos(ParameterExpression.Access(context, "x")); } } }