static void PrintNumbers(List <int> list, Filter filter)
        {
            PrintNumber printNumber = new PrintNumber(x =>
            {
                Console.WriteLine($"Number {x} is a cool number");
            });

            PrintNumber printNumber1 = new PrintNumber(x =>
            {
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine($"Number {x} is not that cool number");
                Console.ResetColor();
            });

            foreach (var item in list)
            {
                if (filter(item))
                {
                    PrintNumbers(item, printNumber);
                }
                else
                {
                    PrintNumbers(item, printNumber1);
                }
            }
        }
예제 #2
0
        static void Main(string[] args)
        {
            List <string> myOptions = new List <string>()
            {
                "1) Print the number ", "2) Sum the numbers ", "3) exit"
            };
            string       menuName     = "Main";
            PrintNumber  firstAction  = new PrintNumber();
            SumOfNumbers secondAction = new SumOfNumbers();
            Exit         exit         = new Exit();

            Dictionary <string, IAction> dictOptions = new Dictionary <string, IAction>()
            {
                { "1", firstAction }, { "2", secondAction }, { "3", exit }
            };

            IMenu mainMenu = new NumericMenu(myOptions, menuName, dictOptions);

            mainMenu.GetOptionFromMenu();


            Dictionary <string, IAction> dictOptionsFree = new Dictionary <string, IAction>()
            {
                { "Print the number", firstAction }, { "Sum the numbers", secondAction }, { "exit", exit }
            };
            List <string> myOptionsFree = new List <string>()
            {
                "Print the number ", "Sum the numbers ", "exit"
            };
            string newMenuName = "Free";

            IMenu freeMenu = new FreeMenu(myOptionsFree, newMenuName, dictOptionsFree);

            freeMenu.GetOptionFromMenu();
        }
예제 #3
0
        public override void Run()
        {
            _printNumber = Function;
            Console.WriteLine($"{_printNumber(10)} こっちはdelegate");

            _printNumEvent = Function;

            Console.WriteLine($"{_printNumber(10)} こっちはevent");
        }
예제 #4
0
        static void Main(string[] args)
        {
            PrintNumber Pn1 = () => Console.WriteLine(0);
            PrintNumber Pn2 = () => Console.WriteLine(0);

            for (int i = 1; i < 5; i++)
            {
                Pn1 += () => Console.WriteLine(i);
            }

            Pn1();

            Console.WriteLine(new string('-', 4));

            for (int i = 1; i < 5; i++)
            {
                int j = i;
                Pn2 += () => Console.WriteLine(j);
            }

            Pn2();

            Console.ReadKey();
        }
예제 #5
0
 //delegate2
 public static void PrintNumbers(PrintNumber del, int number)
 {
     del(number);
 }
 static void PrintNumbers(int number, PrintNumber printNumber)
 {
     printNumber(number);
 }