예제 #1
0
        static bool exec()
        {
            var bismarck = new Schlachtschiff()
            {
                AnzLeben = 100, Feuerkraft = 10
            };
            var hood = new Schlachtschiff()
            {
                AnzLeben = 70, Feuerkraft = 10
            };

            schiessen(bismarck, hood);

            bismarck.schiessenAuf(hood);

            // Kompiler übersetzt den vorausgegangenen Ausdruck in folgenden
            SchlachtschiffExtensions.schiessenAuf(bismarck, hood);


            return(true);
        }
예제 #2
0
 // Klassische Lösung, einen Vorgegebene Klasse um Funktionen zu erweitern
 static void schiessen(Schlachtschiff feuernde, Schlachtschiff befeuerte)
 {
     befeuerte.AnzLeben -= feuernde.Feuerkraft;
 }
예제 #3
0
 public static void schiessenAuf(this Schlachtschiff feuernde, Schlachtschiff befeuerte)
 {
     befeuerte.AnzLeben -= feuernde.Feuerkraft;
 }