Excellent, I am in business!!!!
2008/11/7 Ayende Rahien <[EMAIL PROTECTED]> > Here is the solution: > http://ayende.com/Blog/archive/2008/09/02/How-to-execute-a-set-of-statements-in-an-expression.aspx > > > On Fri, Nov 7, 2008 at 1:55 PM, dagda1 <[EMAIL PROTECTED]> wrote: > >> >> >> You need to create a meta method that accepts a params of >> ReferenceExpression.this will allow you to skip the strings. >> >> I can get this working for one task expression >> >> Like this for the DSL: >> >> install "horn": >> description "This is a description of horn" >> svn "https://svnserver/trunk" >> #buildfile default.build >> tasks one >> >> And this for the meta method: >> >> [Meta] >> public static Expression tasks(ReferenceExpression expression) >> { >> var condition = new BlockExpression(); >> >> var taskExpression = new StringLiteralExpression(expression.Name); >> >> condition.Body.Add(new ReturnStatement(taskExpression)); >> >> return new MethodInvocationExpression( >> new ReferenceExpression("SetBuildTargets"), >> condition >> ); >> } >> >> >> I cannot work out how to handle an array of ReferenceExpressions as I >> can only return 1 expression. >> >> Do I need to use a ListExpression or something? >> >> By the way the lack of documentation for this kind of thing is >> frightenning. Without Rhino.DSL I would have been lost. >> >> Cheers >> >> Paul >> >> >> >> >> On 6 Nov, 16:31, "Ayende Rahien" <[EMAIL PROTECTED]> wrote: >> > LOL >> > >> > >> > >> > On Thu, Nov 6, 2008 at 6:06 PM, Paul Cowan <[EMAIL PROTECTED]> wrote: >> > > Excellent, >> > >> > > I'll resist the urge to say that you should write a BOOk about this, >> I'm >> > > guessing you may have heard it before!!! >> > >> > > 2008/11/6 Ayende Rahien <[EMAIL PROTECTED]> >> > >> > > You need to create a meta method that accepts a params of >> > >> ReferenceExpression.this will allow you to skip the strings. >> > >> The meta method will be responsible only for translating the call >> from RE >> > >> to strings, and generating a new method call to the real Tasks method >> > >> > >> On Thu, Nov 6, 2008 at 7:25 AM, dagda1 <[EMAIL PROTECTED]> wrote: >> > >> > >>> I have the following dsl with the help of rhino DSL >> > >> > >>> Install "component": >> > >>> Description "blah" >> > >>> Svn "https://server.com" >> > >>> Tasks "one", "two", "three" >> > >> > >>> I am unhappy with it because I think I am over using strings. >> > >> > >>> Can anyone suggest a better way? >> > >> > >>> Also can anyone tell me how to read in the multiple values for the >> > >>> tasks >> > >>> Section on the last line? >> > >> > >>> Cheers- Hide quoted text - >> > >> > - Show quoted text - >> >> > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Rhino Tools Dev" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/rhino-tools-dev?hl=en -~----------~----~----~----~------~----~------~--~---
