예제 #1
0
        public object Execute(Expression expression)
        {
            var dataParameter = new RemoteDataParameter();

            var methodCallExpression = expression as MethodCallExpression;

            dataParameter.Executor = methodCallExpression.Method.Name;

            var processor = RemoteObjectContext.DefaultObjectResolver.GetInstance <IExpressionProcessor>();

            processor.DataParameter = dataParameter;
            processor.Writer        = RemoteObjectContext.DefaultObjectResolver.GetInstance <IExpressionWriter>();

            processor.Build(methodCallExpression);

            return(DataFetcher.GetObject(dataParameter, methodCallExpression.Method.ReturnType));
        }