public void Demo2()
 {
     using var sd1 = new SomethingDisposable();
     WriteLine("Something 1");
     WriteLine("Something 2");
     using var sd2 = new SomethingDisposable();
     WriteLine("Something 3");
     if (true)
     {
         using var sd3 = new SomethingDisposable();
     }
     WriteLine("Something 4");
 }
        public async Task Demo3()
        {
            using var sd1 = new SomethingDisposable();
            WriteLine("Something 1");
            await Task.Delay(1000);

            WriteLine("Something 2");
            using var sd2 = new SomethingDisposable();
            WriteLine("Something 3");
            if (true)
            {
                using var sd3 = new SomethingDisposable();
            }
            await Task.Delay(1000);

            WriteLine("Something 4");
        }
        public void Demo1()
        {
            using (var sd1 = new SomethingDisposable())
            {
                WriteLine("Something1");
                using (var sd2 = new SomethingDisposable())
                {
                    WriteLine("Something2");
                };

                using (var sd3 = new SomethingDisposable())
                {
                    WriteLine("Something3");
                }
            }

            WriteLine("Something4");
        }