2017년 6월 19일 월요일

[C#] Create Method Flow and Run Flow

        static void Main( string [ ] args )
        {
            Func temp = new Func(x =>
            {
                Console.WriteLine("temp done // input is : " +  x.ToString());
                return "g0";

            } );
            Func temp1 = new Func(x =>  {
                Console.WriteLine("temp1 done");
                return "g1";

            } );
            Func temp2 = new Func(x =>  {
                Console.WriteLine("temp2 done");
                return 4.5;

            } );
            List any = new List();
            any.Add( temp );
            any.Add( temp1 );
            any.Add( temp2 );

            Console.WriteLine( "anycount = " + any.Count.ToString() );
            var result = runme( 0, any , 10 );
            Console.WriteLine( result );
            Console.ReadLine();
        }


        static object runme( int idx , List list , object input  )
        {
            Console.WriteLine( idx );
            if ( idx == list.Count )
            {
                return input;
            }
            var output =  list [ idx ].DynamicInvoke( input );
            return runme( idx + 1 , list , output );
        }

댓글 없음:

댓글 쓰기