コード例 #1
0
ファイル: Task.cs プロジェクト: legigor/Nake
        string ProxyBody(BaseMethodDeclarationSyntax method, string body)
        {
            var arguments = TaskArgument.BuildArgumentString(method.ParameterList.Parameters);

            return(symbol.IsAsync
                ? TaskRegistry.BuildInvokeTaskAsyncString(FullName, arguments, body)
                : TaskRegistry.BuildInvokeTaskString(FullName, arguments, body));
        }
コード例 #2
0
ファイル: TaskInvocation.cs プロジェクト: legigor/Nake
 object Convert(TaskArgument arg, int position, ParameterInfo parameter)
 {
     try
     {
         return(arg.Convert(parameter.ParameterType));
     }
     catch (InvalidCastException e)
     {
         throw new TaskArgumentException(task, parameter.Name, position, e.Message);
     }
     catch (FormatException e)
     {
         throw new TaskArgumentException(task, parameter.Name, position, e.Message);
     }
     catch (ArgumentException e)
     {
         throw new TaskArgumentException(task, parameter.Name, position, e.Message);
     }
     catch (OverflowException e)
     {
         throw new TaskArgumentException(task, parameter.Name, position, e.Message);
     }
 }
コード例 #3
0
ファイル: Task.cs プロジェクト: jthelin/Nake
        public void Invoke(object script, TaskArgument[] arguments)
        {
            var invocation = new TaskInvocation(script, this, reflected, arguments);

            if (step)
            {
                var alreadyInvoked = !invocations.Add(invocation);
                if (alreadyInvoked)
                    return;
            }

            invocation.Invoke();
        }
コード例 #4
0
ファイル: TaskInvocation.cs プロジェクト: jthelin/Nake
 object Convert(TaskArgument arg, int position, ParameterInfo parameter)
 {
     try
     {
         return arg.Convert(parameter.ParameterType);
     }
     catch (InvalidCastException e)
     {
         throw new TaskArgumentException(task, parameter.Name, position, e.Message);
     }
     catch (FormatException e)
     {
         throw new TaskArgumentException(task, parameter.Name, position, e.Message);
     }
     catch (ArgumentException e)
     {
         throw new TaskArgumentException(task, parameter.Name, position, e.Message);
     }
     catch (OverflowException e)
     {
         throw new TaskArgumentException(task, parameter.Name, position, e.Message);
     }
 }