public IType OnEvent(string evento) { return(DynamicProvider.OnEvent(evento)); }
static void Main() { WriteLine("DEMO DSL Fluent Progressive!"); DynamicProvider .OnEvent("AgregateResource") .WhenType("Resource") .Require("ActiveDirectory") .DefineOperation((contexto, servicios) => { var s = servicios.Get("ActiveDirectory"); var id = contexto.Id; }) .DefineOperation((contexto, servicios) => { var s = servicios.Get("ActiveDirectory"); var id = contexto.Id; }); DynamicProvider .OnEvent("DeleteResource") .WhenType("Resource") .Require("MailBox") .Require("ActiveDirectory") .DefineOperation((c, s) => { }); DynamicProvider .OnEvent("PurgeResource") .WhenType("Resource") .Require("AD") .Require("MB") .DefineOperation((c, s) => { }); DynamicProvider .OnEvent("XXX") .WhenType("RRR") .DefineOperation((c, s) => { }); DynamicProvider .OnEvent("XXXX") .WhenType("YYYY") .Require("AAA") .Require("BBBB") .DefineOperation((c, s) => { }); CSScript.EvaluatorConfig.Engine = EvaluatorEngine.Roslyn; //EvaluatorEngine.Mono; //EvaluatorEngine.CodeDom; var sqr = CSScript.Evaluator .CreateDelegate(@"int Sqr(int a) { return a * a; }"); var r = sqr(3); //dynamic script = CSScript.LoadCode( // @"using System.Console; // public class Script // { // public void SayHello(string greeting) // { // Console.WriteLine(""Greeting: "" + greeting); // } // }") // .CreateObject("*"); //script.SayHello("Hello World!"); ReadLine(); }