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
-~----------~----~----~----~------~----~------~--~---

Reply via email to