コード例 #1
0
        static void Main(string[] args)
        {
            //DelegateStringVoid a = new DelegateStringVoid(M1);
            DelegateStringVoid a = M1;

            //a.AddMethod(GemIFil);
            a += GemIFil;
            //a.Invoke("*");
            if (a != null)
            {
                a("*");
            }



            return;

            // Direkte
            M1("*");
            // Inddirekte
            a.Invoke("*");

            DelegateVoid b = new DelegateVoid(Console.Beep);

            Console.Beep();
            b.Invoke();

            DelegateIntIntInt c = new DelegateIntIntInt(Plus);

            Console.WriteLine(Plus(10, 10));
            Console.WriteLine(c.Invoke(10, 10));
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: SiriWiecker/cs202011
        delegate void DelegateStringVoid(string txt); // definering af en delegeate, som har en masse metoder på som ligger på klassen

        // en masse referencer til klassen

        static void Main(string[] args)
        {
            Test("Hello world");

            // Nu vil jeg gerne have en instans af sådan en klasse
            DelegateStringVoid a = new DelegateStringVoid(Test); // man skal have en reference til en funktion, derfor skriver man lig med new Delegate1();

            // Nu har vi et objekt a som indeholder reference til en masse metoder
            // a peger på et objekt der peger/har en reference på en liste af metoder

            // Her kalder vi den indirekte så vi får samme resultat
            a.Invoke("Hello world");
        }
コード例 #3
0
 static void Gem(string a, DelegateStringVoid f)
 {
     // gemmer
     f.Invoke("Færdig med at gemme a " + a);
 }