AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein C# [C#] Fragen zu automatisch generiertem Code
Thema durchsuchen
Ansicht
Themen-Optionen

[C#] Fragen zu automatisch generiertem Code

Ein Thema von Luckie · begonnen am 24. Jul 2004 · letzter Beitrag vom 25. Jul 2004
Antwort Antwort
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#1

Re: [C#] Fragen zu automatisch generiertem Code

  Alt 24. Jul 2004, 19:08
Zitat:
Dispose ist da wohl der Destruktor wenn ich die bisherigen Versuche mit C# richtig deute.
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 nicht gemanagete Ressourcen freizugeben. Im .net SDK zu finden unter "Cleaning Up Unmanaged Resources".
In diesem besonderen Fall handelt es sich aber um eine Methode, die bereits in Component definiert wird. Wie im Code zu sehen, ruft sie auch die Dispose-Methoden aller Unterkomponenten auf. Mehr dazu unter Component.Dispose im .net SDK.

Zitat:
Das ist aber ein "Kann" kein "Muss", denke ich. Nennt sich dann, glaube ich, [b]inline-Irgendwas oder so.
Das ist in C++ so. Nicht in C#.

Zitat:
C# ist nunmal keine Sprache, die man hinterher sauber lesen kann.
Dafür gibt es zum einen die Regions und das Folding und zum anderen den Object Browser.

Zitat:
Soll das bedeuten das Foo keine Parameter übergeben werden? Wenn ja dann wird das ohne das Void geschrieben.
In C ist es erforderlich, für eine Funktion ohne Parameter explizit void in die Klammern zu schreiben. Diese Schreibweise ist in C++ nicht nötig, aber möglich. In C# ist sie nicht möglich.

Noch etwas generelles: In C# gibt es nichts "under the hood", also Code, der automatisch vom Compiler erzeugt wird wie in Delphi. Der gesamte Verwaltungscode ist mit drin. Deshalb wurden für C# 2.0 auch partial classes eingeführt, die man also innerhalb mehrerer Dateien definieren kann. Die Designer legen hierzu eine eigene Datei für den gesamten generierten Code an.

[Nachtrag]
Zitat:
Code:
   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";
Übrigens entspricht es in .net nicht der Norm, Konstantennamen (oder andere Bezeichner) groß zu schreiben. Siehe hierzu "Design Guidelines for Class Library Developers" im .net SDK (zu finden unter "Documentation Map by Technology").
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz