public Func <T, T, T> AddFunc <T>() { var paramExp1 = Expression.Parameter(typeof(T)); var paramExp2 = Expression.Parameter(typeof(T)); var expBody = Expression.AddAssign(paramExp1, paramExp2); var lambdExp = Expression.Lambda <Func <T, T, T> >(expBody, new[] { paramExp1, paramExp2 }); return(lambdExp.Compile()); }