static void Main(string[] args) { NumberDelegate addOn = (x, y, z) => x + y + z; Console.WriteLine(addOn(2.3f, 3.5f, 4.8f)); Console.ReadKey(); }
public delegate int NumberDelegate(int a); // Объявление класса-делегата с именем NumberDelegate, сообщенного с методом, который принимает целочисленный параметр типа int и возвращает целочисленное значение static void Main(string[] args) { Console.WriteLine("An array of delegates using an array of anonymous methods".ToUpper()); Console.WriteLine(new string('-', 150)); int order = 1; // Переменная определяет порядок выведенных в консоли массивов while (true) // Условная конструкция - определяет циклический возврат для массивов делегатов { Random random = new Random(); // Экземпляр класса (генератор псевдослучайных чисел) NumberDelegate[] delegateMassive = new NumberDelegate[random.Next(1, 20)]; //Создание масива классов-делегатов типа NumberDelegate с псевдослучайным присвоением размера массива DelegateMassive @delegate = delegate(NumberDelegate[] massive) // Создание экземпляра класса-делегата типа DelegateMassive с присвоением ему анонимного метода, который принимает массив делегатов типа NumberDelegate и возвращает среднеарифметическое значение сообщенных анонимных методов массива NumberDelegate { int sum = 0; // Переменная, которая суммирует все целочисленные значения, которые возвращают сообщенные анонимные методы массива делегатов типа NumberDelegate Console.Write("{1} - massive [{0}]: (".ToUpper(), massive.Length, order); for (int i = 0; i < massive.Length; i++) // Циклическая конструкция для инициализации элементов массива { massive[i] = new NumberDelegate(delegate(int b) { return(b); }); // Присвоение элементу массива делегатов типа NumberDelegate целочисленного значения, которые возвращают анонимные методы int number = random.Next(0, 1000); // Присвоение целочисленной переменной псевдослучайного числа от нуля до 100 int numberTwo = massive[i].Invoke(number); Console.Write(numberTwo); if (i != massive.Length - 1) { Console.Write(" + "); } sum += numberTwo; // Сумма всех целочисленных значений, которые возвращают анонимные методы в элементах массива типа NumberDelegate } Console.Write(")/{0} = ", massive.Length); return(sum / massive.Length); // Возвращение среднеарифметического значения всех возвращенных целочисленных значений от анонимных методов массива NumberDelegate }; Console.Write(@delegate.Invoke(delegateMassive) + "\n"); // Вывод в консоли параметров класса-делегата типа DelegateMassive Console.ReadKey(); ++order; } }
static void Main(string[] args) { //PrintDelegate printDelegate1, printDelegate2, printDelegate3, printDelegate4; //printDelegate1 = new PrintDelegate(PrintMethod1); //printDelegate2 = new PrintDelegate(PrintMethod2); //printDelegate3 = new PrintDelegate(PrintMethod3); //printDelegate4 = printDelegate1 + printDelegate2 + printDelegate3; //printDelegate4(); //NumberDelegate(); NumberDelegate numberDelegate = new NumberDelegate(NumberMethod1); numberDelegate += NumberMethod2; int result = numberDelegate(); Console.WriteLine(result); //void OutPutParameterDelegate(out int result) OutPutParameterDelegate outPutParameterDelegate = new OutPutParameterDelegate(OutMethod1); outPutParameterDelegate += OutMethod2; int FinalResult = 5; outPutParameterDelegate(out FinalResult); Console.WriteLine(FinalResult); }
static void Main(string[] args) { NumberDelegate timesTwo = (x => x * 2); Console.WriteLine(timesTwo(7)); Console.ReadKey(); }
static IEnumerable <int> GetNumbers(IEnumerable <int> numbers, NumberDelegate delly) { foreach (int item in numbers) { if (delly(item)) { yield return(item); } } }
public static void Main(string[] args) { NumberDelegate delegateMethod1 = Add; delegateMethod1.Invoke(3, 2); delegateMethod1(5, 4); NumberDelegate delegateMethod2 = (a, b) => Multiply(a, b); delegateMethod2.Invoke(3, 4); }
public static List <int> MaxNetice(this List <int> list, NumberDelegate del) { var maxValue = new List <int>(); foreach (var item in list) { if (del(item)) { maxValue.Add(item); } } return(maxValue); }
public static List <int> SerteGoreNEtice(this List <int> list, NumberDelegate del) { var custom = new List <int>(); foreach (var item in list) { if (del(item)) { custom.Add(item); } } return(custom); }
static void Main(string[] args) { int n = 15; FizzBuzz fizzBuzz = new FizzBuzz(n); NumberDelegate fizzBuzzNumber = new NumberDelegate(fizzBuzz.Number); BuzzDelegate fizzBuzzBuzz = new BuzzDelegate(fizzBuzz.Buzz); FizzDelegate fizzBuzzFizz = new FizzDelegate(fizzBuzz.Fizz); FizzbuzzDelegate fizzBuzzFizzbuzz = new FizzbuzzDelegate(fizzBuzz.Fizzbuzz); fizzBuzzNumber.BeginInvoke(x => { Console.WriteLine(x); }, null, null); fizzBuzzBuzz.BeginInvoke(() => { Console.WriteLine("Buzz"); }, null, null); fizzBuzzFizz.BeginInvoke(() => { Console.WriteLine("Fizz"); }, null, null); fizzBuzzFizzbuzz.BeginInvoke(() => { Console.WriteLine("Fizzbuzz"); }, null, null); Console.ReadKey(); }
static void Main(string[] args) { NumberDelegate numDele = new NumberDelegate(addNum); numDele(5); myDelegateClass mc = new myDelegateClass(); NumberDelegate numDele2 = new NumberDelegate(mc.addNum); numDele2(15); D cd1 = new D(C.M1); cd1(-1); Console.WriteLine(); D cd2 = new D(C.M2); cd2(-2); Console.WriteLine(); D cd3 = cd1 + cd2; cd3(-3); Console.WriteLine(); C c = new C(); D cd4 = new D(c.M3); cd3 += cd4; cd3(10); Console.WriteLine(); cd3 += cd1; cd3(20); Console.WriteLine(); cd3 -= cd1; cd3(30); Console.WriteLine("value of num:{0}", k); Console.WriteLine("value of Class num:{0}", mc.num); Console.ReadLine(); }
static void Main(string[] args) { string fav = "Dog"; //Instantiate the delegate NumberDelegate obj = delegate(int x) { Console.WriteLine("Anonymous Method:{0}", x); }; obj(20); obj = new NumberDelegate(Addnums); obj(10); obj = new NumberDelegate(Mulnums); obj(7); PetDelegate p = delegate(string mypet) { Console.WriteLine("My Favorite pet is {0}", mypet); Console.WriteLine("And I Like {0} aslo", fav); }; p("Cat"); GreetingsDelegate obj1 = delegate(string name) { Console.WriteLine(" Hello Friends " + name + ""); }; obj1("Good Noon"); Console.ReadLine(); }
public static void NumberMaster(int num1, int num2, NumberDelegate numberDel) { Console.WriteLine($"The result is { numberDel(num1, num2) }"); }
public static void NumbersOperation(int n1, int n2, NumberDelegate numberDelegate) { Console.WriteLine($"Result is: {numberDelegate(n1, n2)}"); }