Forum: Programmieren allgemein
C#
by OregonGhost,
25. Jul 2004
Nur um das nochmal klarzustellen:
Es gibt in C# keine Destruktoren wie in z.B. C++ oder Delphi. Destruktoren werden für die deterministische Zerstörung von Objekten eingesetzt und sind in .net sowie in C# so NICHT vorhanden.
Das, was man in C# als Destruktoren bezeichnet und was auch aussieht wie ein C++-Destruktor, ist in Wirklichkeit ein Finalizer! Es hat dieselbe Semantik wie die Finalizer...
Forum: Programmieren allgemein
C#
by OregonGhost,
24. Jul 2004
Der Punkt ist, die Methoden befinden sich in der Klasse, die sich wiederum im Namespace befindet. Somit befindet sich INDIREKT die Methode auch im Namespace. DIREKT im Namespace liegt hingegen nur die Klasse.
Nachtrag: Ich sehe jetzt erst das "@Luckie", sorry ;c)
Forum: Programmieren allgemein
C#
by OregonGhost,
24. Jul 2004
Ich sag's mal so:
Natürlich ist alles im Namespace. In .net kann nichts außerhalb des Namespace existieren.
Aber DIREKT im Namespace können nur Typen definiert werden (class, enum, struct). Nur strukturierte Typen können auch Methoden enthalten. Das gilt für ALLE, selbst für aus Windows-DLLs importierte Funktionen. Es gibt keine Funktionen in .net, nur Methoden. Objektorientiert halt.
Forum: Programmieren allgemein
C#
by OregonGhost,
24. Jul 2004
namespace Project1
{
const String APPNAME = "Hello";
const String VER = "1.0";
const String INFO_TEXT = APPNAME + " " + VER+"\nCopyright (c) 2004 Michael Puff\n\nhttp://www.luckie-online.de";
...
private void btnAbout_Click(object sender, System.EventArgs e)
{
Forum: Programmieren allgemein
C#
by OregonGhost,
24. Jul 2004
Es gibt in C# keine Destruktoren. Wenn überhaupt, gibt es nur Finalizer, die mit derselben Syntax geschrieben werden wie in C++ Destruktoren (also ~Classname()).
Dispose ist generell die einzige Methode der IDisposable-Schnittstelle. Sie dient dazu, dem Benutzer die Möglichkeit der deterministischen Zerstörung von Objekten zu geben, die .net ansonsten nicht anbietet. Sie wird meist verwendet, um...