public async Task EvaluateShadowAsync(DateTime dateTime, EvaluateTestsStructWithProperties me)
        {
            string a = "hello";

            Console.WriteLine($"EvaluateShadowAsync - break here");
            await Task.CompletedTask;
        }
        public void EvaluateShadow(DateTime dateTime, EvaluateTestsStructWithProperties me)
        {
            string a = "hello";

            Console.WriteLine($"Evaluate - break here");
            SomeMethod(dateTime, me);
        }
        public void SomeMethod(DateTime me, EvaluateTestsStructWithProperties dateTime)
        {
            Console.WriteLine($"break here");

            var DTProp = "hello";

            Console.WriteLine($"dtProp: {DTProp}");
        }
        public static async Task run()
        {
            var obj  = new EvaluateTestsStructWithProperties(0);
            var obj2 = new EvaluateTestsStructWithProperties(0);

            obj.InstanceMethod(400, 123, "just a test", obj2);
            new EvaluateTestsStructWithProperties(0).GenericInstanceMethod <int>(400, 123, "just a test", obj2);
            new EvaluateTestsStructWithProperties(0).EvaluateShadow(new DateTime(2020, 3, 4, 5, 6, 7), obj.NewInstance);

            await new EvaluateTestsStructWithProperties(0).InstanceMethodAsync(400, 123, "just a test", obj2);
            await new EvaluateTestsStructWithProperties(0).GenericInstanceMethodAsync <int>(400, 123, "just a test", obj2);
            await new EvaluateTestsStructWithProperties(0).EvaluateShadowAsync(new DateTime(2020, 3, 4, 5, 6, 7), obj.NewInstance);
        }
        public static void EvaluateLocals()
        {
            TestEvaluate f = new TestEvaluate();

            f.run(100, 200, "9000", "test", 45);
            var f_s = new EvaluateTestsStructWithProperties();

            f_s.InstanceMethod(100, 200, "test", f_s);
            f_s.GenericInstanceMethod <int>(100, 200, "test", f_s);

            var f_g_s = new EvaluateTestsGenericStruct <int>();

            f_g_s.EvaluateTestsGenericStructInstanceMethod(100, 200, "test");
        }
        public void InstanceMethod(int g, int h, string valString, EvaluateTestsStructWithProperties me)
        {
            int d        = g + 1;
            int e        = g + 2;
            int f        = g + 3;
            var local_dt = new DateTime(2025, 3, 5, 7, 9, 11);

            a        = 1;
            b        = 2;
            c        = 3;
            dateTime = new DateTime(2020, 1, 2, 3, 4, 5);
            a        = a + 1;
            b        = b + 1;
            c        = c + 1;
        }
        public async Task InstanceMethodAsync(int g, int h, string valString, EvaluateTestsStructWithProperties me)
        {
            int d        = g + 1;
            int e        = g + 2;
            int f        = g + 3;
            var local_dt = new DateTime(2025, 3, 5, 7, 9, 11);

            a        = 1;
            b        = 2;
            c        = 3;
            dateTime = new DateTime(2020, 1, 2, 3, 4, 5);
            a        = a + 1;
            b        = b + 1;
            c        = c + 1;
            await Task.CompletedTask;
        }
        public async Task <T> GenericInstanceMethodAsync <T>(int g, int h, string valString, EvaluateTestsStructWithProperties me)
        {
            int d        = g + 1;
            int e        = g + 2;
            int f        = g + 3;
            var local_dt = new DateTime(2025, 3, 5, 7, 9, 11);

            a        = 1;
            b        = 2;
            c        = 3;
            dateTime = new DateTime(2020, 1, 2, 3, 4, 5);
            a        = a + 1;
            b        = b + 1;
            c        = c + 1;
            T t = default(T);

            return(await Task.FromResult(default(T)));
        }