Neben Konzepten der Programmiersprachen Java und Delphi greift
C# auch Konzepte aus C++ sowie der Microsoft-eigenen Sprache Visual
Basic auf. Beide Programmiersprachen (neben anderen) sind ebenfalls
als eigenständige Portierungen im .NET-Framework
verfügbar und nutzbar.
Wie andere .NET-Sprachen verfügt C# über Attribute und
Delegaten. Attribute ermöglichen die Speicherung von
Informationen über eine Klasse, ein Objekt, oder eine Methode.
Diese Informationen können von anderen Programmen während
der Laufzeit ausgewertet werden können. Man spricht hierbei
auch von Metadaten. Ein Delegat kann auf verschiedene Methoden
einer Klasse verweisen. Dieses Konzept lässt sich mit
Funktionszeigern vergleichen. Im Unterschied zu Funktionszeigern
enthalten Delegaten jedoch zusätzlich auch Verweise auf die
Objekte, die zu den Methoden gehören. Der Aufruf eines
Delegaten ruft also Methoden auf, denen implizit ein Objektzeiger
als Parameter mitübergeben wird.
Einige der Elemente von C++, die im Allgemeinen als unsicher
gelten, wie beispielsweise Zeigerarithmetik, wurden in C# nur
für so genannten "unsafe code" (unmanaged code) zugelassen.
Dieser Code erfordert eine veränderte Sicherheitseinstellung,
um auf einem Zielsystem ausgeführt werden zu können.
Außerdem wird ein zusätzlicher Compiler-Schalter
benötigt, um den Code zu übersetzen. Somit wird
vermieden, dass sich versehentlich ein unsicherer Code in eine
Anwendung einschleicht.
Diese Beschreibung basiert auf dem Artikel C-Sharp aus der freien Enzyklopädie Wikipedia und steht unter der GNU-Lizenz für
freie Dokumentation. In der Wikipedia ist eine Liste der Autoren
verfügbar.
|