Esempio n. 1
0
        public IEnumerable <WeatherForecast> Get()
        {
            var resultFunc = NDelegate.Random().Func <int>("return 5;");
            var result     = resultFunc();

            if (result == 5)
            {
                var rng = new Random();
                return(Enumerable.Range(1, 1).Select(index => new WeatherForecast
                {
                    Date = DateTime.Now.AddDays(index),
                    TemperatureC = rng.Next(-20, 55),
                    Summary = Summaries[rng.Next(Summaries.Length)]
                })
                       .ToArray());
            }
            else
            {
                var rng = new Random();
                return(Enumerable.Range(5, 10).Select(index => new WeatherForecast
                {
                    Date = DateTime.Now.AddDays(index),
                    TemperatureC = rng.Next(-20, 55),
                    Summary = Summaries[rng.Next(Summaries.Length)]
                })
                       .ToArray());
            }
        }
Esempio n. 2
0
        public void Test1()
        {
            var func   = NDelegate.Random().Func <object>("Cs0104Model a = new Cs0104Model(); return a;", "Cs0104Model1");
            var result = func();

            Assert.Equal("Cs0104Model1", result.GetType().Namespace);
        }
Esempio n. 3
0
        public void Test3()
        {
            var func   = NDelegate.Random().Func <Cs0104Model1.String>("String a = new String(Cs0104Model.A); return a;", "Cs0104Model1");
            var result = func();

            Assert.Equal("Cs0104Model1", result.GetType().Namespace);
        }
Esempio n. 4
0
        public void Test1()
        {
            string path1 = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "File", "TextFile1.txt");
            string path2 = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "File", "TestFileModel.cs");


            NAssembly assembly = new NAssembly();

            assembly.AddFile(path1);
            assembly.AddFile(path2);


            var result = assembly.GetAssembly();

            Assert.NotNull(result);


            var type = assembly.GetTypeFromFullName("aaa.TestFileModel");

            Assert.NotNull(type);
            Assert.Equal("TestFileModel", type.Name);


            var @delegate = NDelegate.Random().Func <string>("return new TestFileModel().Name;", result);

            Assert.Equal("aaa", @delegate());
        }
Esempio n. 5
0
        static void Main(string[] args)
        {
            string text = @"namespace HelloWorld
{
    public class Test
    {
        public Test(){
            Name=""111"";
        }

        public string Name;
        public int Age{get;set;}
    }
}";
            //根据脚本创建动态类
            AssemblyCSharpBuilder oop = new AssemblyCSharpBuilder("test");

            oop.Syntax.Add(text);
            Type type = oop.GetTypeFromShortName("Test");

            Console.WriteLine(type.Name);

            var action = NDelegate.Random().Action("");
            var a      = action.Method;

            Console.WriteLine(action.Method.Module.Assembly);


            Console.ReadKey();
        }
Esempio n. 6
0
        public static void RunDelegate5()
        {
            var action = NDelegate.Random().Delegate <TestDelegate>(@"
                            return value.Length;");
            int result = action("Hello");

            Assert.Equal(5, result);
        }
Esempio n. 7
0
        public static async void RunAsyncDelegate3()
        {
            var action = NDelegate.Random().AsyncFunc <string, string, Task <string> >(@"
                            return arg1 +"" ""+ arg2;");

            string result = await action("Hello", "World1!");

            Assert.Equal("Hello World1!", result);
        }
Esempio n. 8
0
        public static void RunDelegate5()
        {
            var action = NDelegate.Random().UnsafeFunc <string, string, string>(@"
                            string result = arg1 +"" ""+ arg2;
                            Console.WriteLine(result);
                            return result;");

            string result = action("Hello", "World1!");

            Assert.Equal("Hello World1!", result);
        }
Esempio n. 9
0
        public ActionResult <IEnumerable <string> > Get()
        {
            string result = NDelegate.Random().Func <string>("return \"a\";")();

            return(new string[] { "value1", result });
        }
Esempio n. 10
0
        public static void Main(string[] args)
        {
            string result = NDelegate.Random().Func <string>("return \"a\";")();

            CreateHostBuilder(args).Build().Run();
        }