Exemple #1
0
        public static IType OnEvent(string evento)
        {
            if (definiciones == null)
            {
                definiciones = new List <DynamicProvider>();
            }
            var dp = new DynamicProvider(evento);

            definiciones.Add(dp);
            return(dp);
        }
Exemple #2
0
 public IType OnEvent(string evento)
 {
     return(DynamicProvider.OnEvent(evento));
 }
Exemple #3
0
        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();
        }