コード例 #1
0
 private void cardpicbox_MouseEnter(object sender, EventArgs e)
 {
     showtag = true;
     Refresh();
     Mydelegate dg = new Mydelegate(owner.showCardInfo);
     dg(cardid);
 }
コード例 #2
0
 public static void Main(string[] args)
 {
     Mydelegate del = new Mydelegate (myfunction);
     del (5);
     Mydelegate del1 = delegate(int x){   // Anonymous type
         Console.WriteLine ("Hello World!");
     };
     del1 (6);
 }
コード例 #3
0
        public static void Main(string[] args)
        {
            Mydelegate mydelegate=delegate(int num){
                Console.WriteLine("this is an anonymous delegate method {0}",num);
            };
            mydelegate(9);

            mydelegate = new Mydelegate (EnteredNumber);
            mydelegate(6);
        }
コード例 #4
0
        static void Main(string[] args)
        {
            Mydelegate del1 = Double;
            Mydelegate del2 = new Mydelegate(Double);
            Mydelegate del3 = delegate (int x)
            {
                return 2 * x;
            };
            Mydelegate del4 = (x) => { return 2 * x; };
            Mydelegate del5 = x => 2 * x; //karch dzevov

            Action action1 = () => { Console.WriteLine("Hello"); }; //void aranc argument  kam
            Action action12 = () => Console.WriteLine("Hello");  //void aranc argument  kam
            action1();
            Action<double> del6 = x => { };
            Func<double> del = () => 1.0;
            Func<double, int> del22 = x => 2 * (int)x;//double stanum e veradarcnum e int
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: karmaUdel/practice
        static void Main(string[] args)
        {
            string     zone  = "";
            int        price = 0;
            Mydelegate f     = calculate;

            while (zone != "exit")
            {
                Console.WriteLine("Enter Zone");
                zone = Console.ReadLine();
                if (zone == "exit")
                {
                    break;
                }
                Console.WriteLine("Enter Price");
                price = Convert.ToInt32(Console.ReadLine());

                switch (zone)
                {
                case "zone1": Console.WriteLine(f(price, 25));
                    continue;

                case "zone2":
                    Console.WriteLine(f(price, 25 + 12));
                    continue;

                case "zone3":
                    Console.WriteLine(f(price, 8));
                    continue;

                case "zone4":
                    Console.WriteLine(f(price, 25 + 4));
                    continue;

                case "exit": continue;

                default: Console.WriteLine("Invalid Zone ");
                    continue;
                }
            }
        }
コード例 #6
0
        private void bt_dangnhap_Click(object sender, EventArgs e)
        {
            string mssv = tb_mssv.Text;
            string pass = bll.getPass(mssv);
            InfoSV sv   = bll.getInfoSV(mssv);

            if ((tb_matkhau.Text.Trim()) == pass)
            {
                Form1 f1 = new Form1();

                Mydelegate del = new Mydelegate(f1.setNameSV);
                del(sv);

                f1.Show();
                this.Hide();
            }
            else
            {
                MessageBox.Show("Tên đăng nhập hoặc mật khẩu sai");
            }
        }
コード例 #7
0
        static void Main(string[] args)
        {
            //实例化一个委托

            Mydelegate m1 = new Mydelegate(MyFangfa);

            //异步调用两个方法
            //方法一:
            //string result=  m1("hans");
            // Console.WriteLine(result);

            //方法二:
            //
            IAsyncResult result = m1.BeginInvoke("hans", null, null); //第一个null 是回调函数名称,第二个null 是回调函数的 object参数


            string data = m1.EndInvoke(result);       //endinvoke是会线程阻塞的,保证其他线程执行完,才会执行后面

            Console.WriteLine(data);
            Console.ReadLine();
        }
コード例 #8
0
        static void Main(string[] args)
        {
            Myclass myclass = new Myclass();

            Mydelegate mydelegate = null;
            //mydelegate += myclass.CallMethod1;
            //mydelegate += myclass.Calldelegate2;
            //mydelegate += myclass.Calldelegate3;
            //mydelegate();
            //mydelegate -= myclass.Calldelegate2;
            //mydelegate();
            Mydelegate newMydelegate = new Mydelegate(myclass.CallMethod1);
            Mydelegate mydelegate1   = new Mydelegate(myclass.Calldelegate2);
            Mydelegate mydelegate2   = new Mydelegate(myclass.Calldelegate3);

            mydelegate = newMydelegate + mydelegate1 + mydelegate2;

            Console.WriteLine("Enter number from 1-7");
            string chois = Console.ReadLine();

            switch (chois)
            {
            case "1":
                mydelegate.Invoke();
                break;

            case "2":
                mydelegate1.Invoke();
                break;

            case "3":
                mydelegate2.Invoke();
                break;

            case "5":
                Mydelegate Mydelegate3 = mydelegate - mydelegate1;
                Mydelegate3();
                break;
            }
        }
コード例 #9
0
        static void Main(string[] args)
        {
            List <string> list = new List <string>();

            DataRead dataRead = new DataRead();

            DataOperate dataOperate = new DataOperate();

            Mydelegate mydelegate = new Mydelegate(dataRead.ReadSubjectName);

            mydelegate += dataRead.ReadStudentFirstName;

            mydelegate += dataRead.ReadStudentLastName;

            foreach (Mydelegate item in mydelegate.GetInvocationList())
            {
                list.Add(item());
            }

            var builder = new ConfigurationBuilder();

            builder.SetBasePath(Directory.GetCurrentDirectory());

            builder.AddJsonFile("appsettings.json");

            var config = builder.Build();

            string connectionString = config.GetConnectionString("DefaultConnection");

            DbContextOptionsBuilder dbContextOptionsBuilder = new DbContextOptionsBuilder();
            var optionsBuilder = new DbContextOptionsBuilder <ApplicationContext>();

            var options = optionsBuilder
                          .UseSqlServer(connectionString)
                          .Options;

            Console.Read();

            dataOperate.Operation(options, list[0], list[1], list[2]);
        }
コード例 #10
0
        public EventsAndDelegatesv3()
        {
            Mydelegate mydelegate, mydelegate2, mydelegate3, mydelegate4;

            mydelegate  = new Mydelegate(Method1);
            mydelegate2 = new Mydelegate(Method2);

            mydelegate3 = mydelegate + mydelegate2;
            mydelegate4 = mydelegate - mydelegate2;

            mydelegate.Invoke("AAA");
            mydelegate2("BBB");
            mydelegate3("CCC");

            mydelegate4("DDD");

            mydelegate4 = mydelegate3 - mydelegate;
            mydelegate4("EEE");

            mydelegate4 = mydelegate3 - mydelegate2;
            mydelegate4("FFF");

            Console.ReadLine();
        }
コード例 #11
0
        public static void RunSynchronizedTest()
        {
            Mydelegate md;

            md  = null;
            md += new Mydelegate(() => { Console.WriteLine("1"); });
            md += new Mydelegate(() => { Console.WriteLine("2"); });
            md += new Mydelegate(() => { Console.WriteLine("4"); });
            md.Invoke();
            md = null;
            //md.Invoke();
            ClassA a  = new ClassA();
            ClassA b  = new ClassA();
            Thread t1 = new Thread(new ThreadStart(() => { a.ThearTest("1"); }));
            Thread t2 = new Thread(new ThreadStart(() => { a.ThearTest("2"); }));
            Thread t3 = new Thread(new ThreadStart(() => { b.ThearTest("3"); }));
            Thread t4 = new Thread(new ThreadStart(() => { b.ThearTest("4"); }));

            t1.Start();
            t2.Start();
            t3.Start();
            t4.Start();
            Console.WriteLine("Stort");
        }
コード例 #12
0
 public static void Method2(Mydelegate <string> d)
 {
     d("123456");
 }
コード例 #13
0
 private void panel1_MouseEnter(object sender, EventArgs e)
 {
     showtag = true;
     Refresh();
     Mydelegate dg = new Mydelegate(owner.showCardInfo);
     dg((int)Tag);
 }
コード例 #14
0
ファイル: Program.cs プロジェクト: sarihuminer/c-
        static void Main(string[] args)
        {
            //xml
            ReadXmlFile("name", "acending", "id", "2", '>');


            //reflection
            //Rreflection();

            //students
            Console.ForegroundColor = ConsoleColor.Magenta;
            List <Student> listStud = new List <Student>();
            Student        s        = new Student("1231", "sarit", 45, 1);
            Student        s1       = new Student("1111", "dasi", 77778, 2);
            Student        s2       = new Student("1232221", "shoshi", 7897979, 1);
            Student        s3       = new Student("888", "nechama", 45646546, 1);
            Student        s4       = new Student("99", "sarita", 213131, 3);


            //test
            test test1 = new test("c#", 100);
            test test2 = new test("sql", 90);
            test test3 = new test("c++", 70);

            s.AddTest(test1);
            s.AddTest(test2);
            s.AddTest(test3);

            Console.BackgroundColor = ConsoleColor.DarkBlue;
            Console.ForegroundColor = ConsoleColor.White;
            //ienumurable//enamurator
            s.printTest();

            Console.ForegroundColor = ConsoleColor.Magenta;
            Console.BackgroundColor = ConsoleColor.Black;

            //teachers
            Teacher t  = new Teacher("315013565", "moria", 035793876, 800000);
            Teacher t1 = new Teacher("2222222", "sani", 84984984, 9600);

            Console.ForegroundColor = ConsoleColor.DarkYellow;
            Console.WriteLine(t);
            Console.WriteLine(t1);

            Console.ForegroundColor = ConsoleColor.Gray;
            Teacher t2 = t + t1;

            Console.WriteLine(t2);

            listStud.Add(s);
            listStud.Add(s1);
            listStud.Add(s2);
            listStud.Add(s3);
            listStud.Add(s4);

            //print students
            foreach (Student student in listStud)
            {
                Console.ForegroundColor = ConsoleColor.Green;
                student.printDetails();
                //Console.WriteLine("id {0} name {1} phone {2} grade {3}", student.Id, student.Name, student.Phone, student.Grade);
                for (int i = 0; i < student.Test.Length && student.Test[i].Name != null; i++)
                {
                    Console.ForegroundColor = ConsoleColor.Cyan;

                    Console.WriteLine(" subject " + student.Test[i].Name + " mark " + student.Test[i].Mark);
                }
            }
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine("the studets sum is {0} ", Student.cnt);
            Console.ForegroundColor = ConsoleColor.Magenta;
            //edit details student
            Console.WriteLine("the studet is before {0} ", s);

            s.UpdateBaseDetails("sari", 054859755);
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("the studet is after {0} ", s);
            Console.ForegroundColor = ConsoleColor.DarkMagenta;
            printStudents(listStud);

            Console.ForegroundColor = ConsoleColor.Red;
            //delegate
            Console.WriteLine("*****************************delegate************");
            Mydelegate d  = new Mydelegate(s.printDetails);
            Mydelegate d1 = new Mydelegate(s.printTest);

            d += d1;

            d();
            Console.Read();
            // Person p = new Person();
        }
コード例 #15
0
 private void CheckedChanged(object sender, EventArgs e)
 {
     lbIcono.Text = ((RadioButton)sender).Tag + "";
     operacion    = (Mydelegate)hashtable[((RadioButton)sender).Text];
 }
コード例 #16
0
        private void button1_Click(object sender, EventArgs e)
        {
            Mydelegate obj = new Mydelegate(GetData1);

            obj("peter");
        }
コード例 #17
0
 public Class1()
 {
     myDelegate = new Mydelegate(SayHello);
 }
コード例 #18
0
 bool GetGameoverStatusAndSave(bool _isInGame, Mydelegate _saveBehaviour)
 {
     // Logiche di raccolta dati gameover
     _saveBehaviour();
     return(true);
 }
 public static void mymethod(Mydelegate b, int a)
 {
     a += 10;
     b(a);
 }
コード例 #20
0
 public StateMonitor()
 {
     SomethingHappened += new Mydelegate(monitor);
     _state             = States.initial;
 }
コード例 #21
0
        public static void Main(string[] args)
        {
            var    users         = new List <CuentaBancaria>();
            int    opc1          = 0;
            string numTitular    = "";
            double BalanceCuenta = 0;

            do
            {
                Console.WriteLine(menu1());
                Console.WriteLine("Digite la opcion deseada: ");
                opc1 = Int32.Parse(Console.ReadLine());
                switch (opc1)
                {
                case 1:
                    Console.WriteLine("Ingrese una nueva cuenta bancaria.....");
                    Console.WriteLine("ingrese nombre del titular de la cuenta:  ");
                    numTitular = Console.ReadLine();
                    Console.WriteLine("Digite el saldo a ingresar en la cuenta: ");
                    BalanceCuenta = Int32.Parse(Console.ReadLine());

                    users.Add(new CuentaBancaria(numTitular, BalanceCuenta));


                    break;

                case 2:
                    Accountmanagment = showAccounts;
                    Accountmanagment.Invoke(users);

                    break;

                case 3:
                    //Delegate Explicito
                    Accountmanagment  = showAccounts;
                    Accountmanagment += showSalary;

                    Accountmanagment.Invoke(users);
                    break;

                case 4:
                    //Action

                    Console.WriteLine("---------");

                    Action <List <CuentaBancaria> > MyAccountAction = (maa) =>
                    {
                        maa.ForEach(account =>
                        {
                            Console.WriteLine($"Nombre: {account._name}, Saldo: ${account._ActualBalance}");
                        });
                    };

                    MyAccountAction += maas =>
                    {
                        double salary = 0;

                        maas.ForEach(account =>
                        {
                            salary += account._ActualBalance;
                        });

                        Console.WriteLine($"Suma de salarios: ${salary}");
                    };
                    MyAccountAction.Invoke(users);

                    MyAccountAction = voc =>
                    {
                        voc.ForEach(titular =>
                        {
                            if (titular._name[0].Equals('a') || titular._name[0].Equals('e') ||
                                titular._name[0].Equals('i') || titular._name[0].Equals('o') ||
                                titular._name[0].Equals('u'))
                            {
                                Console.WriteLine("\n inicia con vocal..");
                                Console.WriteLine($"Nombre: {titular._name}, Saldo: ${titular._ActualBalance}");
                            }
                            else
                            {
                                Console.WriteLine(" ");
                            }
                        });
                    };
                    MyAccountAction.Invoke(users);

                    break;

                case 5:
                    Console.WriteLine("Saliendo del menu.....");
                    break;
                }
            } while (opc1 != 5);
        }
コード例 #22
0
        public EventsAndDelegatesv4()
        {
            Mydelegate mydeledate = new Mydelegate(Method1);

            mydeledate();
        }
コード例 #23
0
ファイル: Program.cs プロジェクト: TobiasSS1/Test-kopi
        public static void Main(string[] args)
        {
            #region Interface
            //Gode videoer hvis selv vil lave lidt.
            //God video1: https://www.youtube.com/watch?v=jh4y8HzGqCQ
            //God Video2(fortsættelse fra video1): https://www.youtube.com/watch?v=TZi86NDFwNU

            //Et Interface er lidt som en kontrakt
            //dem der har interfacet (Worker og Manager klasserne)
            //LOVER at implementer den metode der står i interfacet.
            //Både Worker og Manager implementerer IWorker interfacet
            //så begge klasser har metoden GetSalary().


            Worker  worker1 = new Worker(40, 130);
            Worker  worker2 = new Worker(40, 130);
            Worker  worker3 = new Worker(40, 230);
            Manager leder1  = new Manager(40, 330);
            Manager leder2  = new Manager(40, 430);
            Manager leder3  = new Manager(40, 300);

            //fordi både Worker og Manager klasserne implementere IWorker interfacet
            //kan vi putte dem sammen på en liste af IWorkers
            List <IWorker> Personer = new List <IWorker>()
            {
                worker1, worker2, worker3, leder1, leder2, leder3
            };

            //Working(Personer);
            #endregion

            #region Delegates
            //God Video: https://www.youtube.com/watch?v=9K9Aq7die7Q

            //En Delegate er en "function-pointer", d.v.s. den refererer/peger på en metode
            //En delegates signatur skal matche den metode den peger på.
            //Da delegaten på linje 9 er void, så skal den også pege på en metode
            //der retunere void. Det samme gælder for parameteren.

            //Vi siger at del skal pege på/referere Void metoden Foo() i delegate methods
            //Vi kan nu kalde Del som en almindelig metode med del();
            Mydelegate del = Foo;
            //del();

            //Nu siger vi at del skal pege på Goo istedet for
            //Når vi nu kalder del() eller del.Invoke();
            //vil den kalde Goo metoden
            del = Goo;
            //del.Invoke();

            //Her under "Chainer" vi en delegate
            //Først siger vi at del peger på Foo
            //derefter kan vi sige at del OGSÅ peger på Goo
            //Ved at bruge += kan vi sige at del skal pege på mange metoder
            //hvis man vil.
            del  = Foo;
            del += Goo;
            del += Goo;
            del += Goo;
            del += Goo;
            del += Foo;
            //del -= Goo: det her vil fjerne DEN SIDSTE reference til Goo
            //så de 3 FØRSTE Goo vil stadig være der
            //del.Invoke();

            //God Video: https://www.youtube.com/watch?v=qmdziLz51w4
            //lambda expression, den sidste type i Func er altid returtypen. op til 16 parametre
            Func <int, bool> Func1 = input => input > 5;
            //Console.WriteLine(Func1(5));

            //Anonymous method: Bemærk at på højre side har metoden ikke noget navn ligesom f.eks Metode();
            Func <int, bool> FuncAM = delegate(int input) { return(input > 5); };
            //Console.WriteLine(Func1(5));

            //Action retuner altid Void(hover over Action), kan holde op til 16 parametre.
            Action <string, int> Ac1 = (inputstreng, inputtal) => Console.WriteLine(inputstreng + inputtal);
            Ac1("test af Action ", 007);

            //Predicate retuner altid bool (hover over Predicate), tager kun mod 1 parameter
            Predicate <string> Prd1 = inputstreng => inputstreng == "";
            Console.WriteLine(Prd1("fx. navn"));
            #endregion

            #region LINQ
            //God Video: https://www.youtube.com/watch?v=Z6YWWRUcJis

            //LINQ Lambda - worker-navnet kan man bare skifte ud, det er bare en variabel.
            //Der kunne også stå x => x.gender == "Mand"; Den ved at der er tale om en liste af workers objekter.
            var LambdaLinqList = Worker.GetAllWorkers().Where(worker => worker.gender == "mand");

            foreach (var item in LambdaLinqList)
            {
                // Console.WriteLine("LambdaLinqList:" + item.gender);
            }

            //LINQ SQlformat - workers-navnet kan man bare skifte ud.
            var SQlLinkList = from workers in Worker.GetAllWorkers()
                              where workers.gender == "Dame"
                              select workers;

            foreach (var item in SQlLinkList)
            {
                // Console.WriteLine("LambdaLinqList:" + item.gender);
            }

            #endregion
        }
コード例 #24
0
 static string AddText(Mydelegate mydelegate, int value)
 {
     return(String.Format($"{mydelegate(value, "and")} - {value}"));
 }