Exemple #1
0
        static void Main(string[] args)
        {
            //test IOModule
            IOModule module = new IOModule();

            var printer = new Printer(module);
            var scanner = new Scanner(module);
            var scale   = new Scale(module);

            // Call the method that raises the event.
            module.Start();

            //test myExtensionMethods
            string s          = "Ana";
            int    i          = s.NumberOfVowels();
            bool   palindrome = s.IsPalindrome();

            Console.WriteLine("Is it palindrome? " + palindrome + ", How many vowels? " + i);

            //instantiate the generic class we specify the type
            MyGenericClass <int> myGenericClass = new MyGenericClass <int>();

            //test MymulticastDelegate
            NumberOperation numberOperation = new NumberOperation();
            //bind method to the delegate
            NumbersDelegate numbersDelegate = new NumbersDelegate(numberOperation.AddNumbers);

            numbersDelegate += numberOperation.DivideNumbers;
            //invoke the delegate
            numbersDelegate(3, 4);
            //in case of removing a method from the delegate
            numbersDelegate -= numberOperation.DivideNumbers;
        }
 static IEnumerable <int> GetNumbers(IEnumerable <int> numbers, NumbersDelegate delly)
 {
     foreach (int number in numbers)
     {
         if (delly(number))
         {
             yield return(number);
         }
     }
 }
 static IEnumerable <int> GenerateNumbers(IEnumerable <int> numbers, NumbersDelegate action)
 {
     foreach (int number in numbers)
     {
         if (action(number))
         {
             yield return(number);
         }
     }
 }
        public static void Call()
        {
            NumbersDelegate del1 = new NumbersDelegate(AddNumbers);
            NumbersDelegate del2 = new NumbersDelegate(SubNumbers);
            NumbersDelegate del3 = new NumbersDelegate(MultiplyNumbers);
            NumbersDelegate del4 = new NumbersDelegate(DivideNumbers);

            NumbersDelegate chainDel = del1 + del3;
            int             a        = 2;
            int             b        = 3;

            Console.WriteLine(chainDel(ref a, ref b));
        }
 public static void NumberMaster(int num1, int num2, NumbersDelegate numberDel)
 {
     Console.WriteLine($"The result is: {numberDel(num1, num2)}");
 }
Exemple #6
0
 public static void NumberMaster(int num1, int num2, NumbersDelegate numDelegate)
 {
     Console.WriteLine($"Resalt is: {numDelegate(num1,num2)} ");
 }