public void _02_03_ErweiterungsmethodenTest()
        {
            long l1 = 13;

            // Klassisch
            Assert.IsTrue(LongExtensions.IsOdd(l1));
            
            // Dank Erweiterungsmethode syntaktisch möglich
            Assert.IsTrue(l1.IsOdd());
            Assert.IsFalse(l1.IsEven());            
            Assert.IsTrue(l1.IsPrime());

            var bismarck = new Schlachtschiff() { AnzLeben = 100, Feuerkraft = 10 };
            var hood = new Schlachtschiff() { AnzLeben = 70, Feuerkraft = 10 };

            schiessen(bismarck, hood);

            bismarck.schiesstAuf(hood);

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

        }
 // Klassische Lösung, einen Vorgegebene Klasse um Funktionen zu erweitern
 static void schiessen(Schlachtschiff feuernde, Schlachtschiff befeuerte)
 {
     befeuerte.AnzLeben -= feuernde.Feuerkraft;
 }      
 public static void schiesstAuf(this Schlachtschiff feuernde, Schlachtschiff befeuerte)
 {
     befeuerte.AnzLeben -= feuernde.Feuerkraft;
 }