Putzdienst
Die mit »new« angelegten Referenztypen verwaltet in C# ein Garbage-Collector. Der Entwickler muss sich nicht selber um das Aufräumen kümmern. Dieser Ansatz ist komfortabel, gerät jedoch gelegentlich wegen seines Performance-Overheads in die Kritik. Herauszufinden, wann ein Objekt nicht mehr gebraucht wird und der Garbage-Collector es löschen darf, bedeutet zusätzlichen Aufwand.
Neben den Referenztypen kennt C# die Wertetypen wie »int«, »float«, »double«, »decimal« und »bool«. Die Schlüsselwörter »int« oder »bool« sind dabei nicht nur Kurzschreibweisen für die Klassen »System.Int32« und »System.Boolean«. Listing 1 hat demonstriert, wie sich bestimmte, im Sprachumfang enthalten Methoden weitervererben.
Listing 3 ergänzt Listing 2 um die sehr kurze Methode »Main«. Diese bindet den Namensraum der »ObjectPrinter«-Klasse aus Listing 2 ein, instanziiert ein passendes Objekt und ruft die »print()«-Methode des Objekts auf. Die beiden Dateien lassen sich mit »gmcs main.cs objectCollection.cs« übersetzen.
Der Aufruf von »mono main.exe«, gibt folgende Ausgabe zurück:
Im Apfel-Konstruktor: Ich bin ein Apfel
Im Birnen-Konstruktor: Ich bin eine Birne
In HalloWelt2.Main():
LinuxMagazineObjectPrinter.Apfel
LinuxMagazineObjectPrinter.Birne
Die ersten beiden Zeilen stammen von den Konstruktoren der Klassen »Apfel« und »Birne«. Die beiden letzten Zeilen erzeugen »Apfel.ToString()« sowie »Birne.ToString()«, die Zeile 30 über das Array »obstSammlung[]« indirekt aufruft.
Die Methode »ToString()« stammt aus der »System.Object«-Klasse der C#-Standard-Bibliothek. Sie ist aber nicht dafür ausgelegt, spezifische Informationen zu den beiden Klassen auszugeben. Sie liefert daher einfach den voll qualifizierten Namen inklusive Namensraum zurück. Wie sich die Umwandlung eines Objekts in einen String mit Hilfe von polymorpher Vererbung aufschlussreicher gestalten lässt, erläutert der nächste Teil der C#-Serie.
01 using System;
02 using LinuxMagazineObjectPrinter;
03
04 namespace LinuxMagazinHelloWorld2
05 {
06 class HalloWelt2
07 {
08 public static void Main(string[] args)
09 {
10 ObjectPrinter opr = new ObjectPrinter();
11 Console.WriteLine("In HalloWelt2.Main():");
12 opr.print();
13 }
14 }
15 }
|
Schweizer Taschenmesser
Stabil liegt die komfortable Entwicklungsumgebung Monodevelop bisher erst in Version 1.0 vor [9]. Momentan fehlen noch einige wünschenswerte Features, Version 2.0 steht aber schon vor der Tür. Monodevelop 1.0 ist in den verbreiteten Distributionen enthalten. Aktuellere Versionen sind eventuell auf dem Open-Suse-Buildservice [11] zu finden.
Die IDE bietet beim Anlegen von Projekten Standard-Projekttypen an, darunter den Typ »Gtk# 2.0«. Um den Dialog mit dem Text »Hallo Linux-Magazin« aus Abbildung 2 anzuzeigen, sind nur wenige Änderungen an dieser Vorlage erforderlich. Wie andere IDEs geht auch Monodevelop über das Syntax-Highlighting und die Schlüsselwort-Vervollständigung gewöhnlicher Editoren hinaus. Abbildung 3 zeigt den Code-Vervollständigungsdialog, der sämtliche Methoden der Klasse »win« aus der Standardbibliothek mitsamt einer kurzen Dokumentation präsentiert.

|
Abbildung 2: Auch wenn es sich noch nicht mit Microsofts Virtual Studio messen kann, bietet Monodevelop dennoch eine komfortable Entwicklungsumgebung für C# und andere Sprachen.
|

|
Abbildung 3: Die Eingabevervollständigung von Monodevelop umfasst nicht nur Schlüsselwörter, sondern auch die Methoden von Standardklassen.
|
| Whitepaper |
|
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele
Über die letzten Jahre hinweg haben sich Open Source Lösungen als fester Bestandteil des gesamten Datenintegrationsmarktes etabliert. Viele Unternehmen haben bereits das Open Source Modell für Ihre Datenintegrationsprojekte aufgegriffen. Das vorliegende White Paper illustriert anhand ausgewählter Fallstudien und Anwendungsbeispiele die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.
Download PDF (Registrierung erforderlich)
|
|
The Role of Open Source in Data Integration
Obwohl in den letzten Jahren viele technische Fortschritte erzielt werden konnten, verfügen die meisten Datenintegrationsprozesse nach wie vor nur über eine sehr begrenzte Automatisierung. Das vorliegende White Paper von dem Industry Analyst Mark Madson wird zunächst ein grundlegendes Verständnis von Daten Integration vermitteln, die Vorzüge von Open Source Lösungen für Daten Integration erläutern und Ihnen professionelle Empfehlungen geben, damit Sie Ihre Integrationsjobs noch einfacher und produktiver gestalten können.
Download PDF (Registrierung erforderlich)
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|