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)}"); }
public static void NumberMaster(int num1, int num2, NumbersDelegate numDelegate) { Console.WriteLine($"Resalt is: {numDelegate(num1,num2)} "); }