public static void Foo()
        {
            BinaryOperation        add  = Add;
            BinaryOperationG <int> add2 = Add;

            BinaryOperation sub    = Sub;
            int             addRes = add(0, 5);         // 5
            int             subRes = sub.Invoke(1, 4);  // -3

            Action <int> a1 = WriteHello;

            a1 += WriteHowYouDo;

            Predicate <int>      p1 = PositiveNumber;
            Func <int, string>   f1 = NumberStr;
            Func <string>        f2 = DateStr;
            Func <int, int, int> f3 = Add;

            a1?.Invoke(1);                              // void, write in console
            bool   p1r = p1(123);                       // true
            string f1r = f1(6);                         // "6"
            string f2r = f2();                          // 2020 12 16


            Func <int, string> f4 = delegate(int a)
            {
                return(a.ToString());
            };

            Func <int, string> f5 = (a) => a.ToString();

            try
            {
                Func <int, int, int> f44 = null;
                //var d1 = f44(4, 5);
                var d2 = f44?.Invoke(4, 5);
            }
            catch (NullReferenceException e)
            {
                var message = e.Message;
            }
        }
 private void previewButton_Click(object sender, EventArgs e)
 {
     EnableControls(false);
     previewPictureBox.Image = operation.Invoke(sourceImage, overlayImage);
     EnableControls(true);
 }
Пример #3
0
        public static double InvokeBinary(BinaryOperation binaryOperation, double num1, double num2)
        {
            double ans = Round(binaryOperation.Invoke(num1, num2), DigitsLimit);

            return(ans);
        }