![]() |
[C#] Fragen zu automatisch generiertem Code
Also, ich habe mir gerade den C# Builder von Borland installiert. Bei einem leeren Projekt generiert die IDE folgendes:
Code:
Klar, entspricht dem gewohntem uses nur dass eben die Namespaces bekannt gegeben werden, die benutzt werden sollen.
using System;
using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; Dann:
Code:
Fdas ist die Klasse meines Formulares, entspricht TForm. So jetzt fängt es aber schon an. Diese public WinForm() { ... } ist ja eine Methode, was hat di in der Klasse-Definintion zu suchen. Ist das was C++ typisches?
public class WinForm : System.Windows.Forms.Form
{ /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.Container components = null; private System.Windows.Forms.Button btnClose; private System.Windows.Forms.Button btnAbout; private System.Windows.Forms.Label lblBanner; public WinForm() { // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after InitializeComponent call // } /// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose (bool disposing) { if (disposing) { if (components != null) { components.Dispose(); } } base.Dispose(disposing); } Ebendso verhält es sich mit protected override void Dispose (bool disposing) { ... }. Aber hier stellt sich mir die Frage: Was macht diese Funktion? Wozu ist sie gut? Dann kommt noch
Code:
Das ist auch klar, das sind die abweichenden Einstellungen von den standard Einstellungen die man im OI eingestellt hat.
#region Windows Form Designer generated code
... ... ... #endregion So, wenn mir da doch bitte jemand meine Fragen beantworten könnte und eventuell falsches richtig stellt oder unvollständiges ergänzt, wäre ich dankbar dafür. [edit=fkerber]Neu gespeichert wg. Code-Highlighting. Mfg, fkerber[/edit] |
Re: [C#] Fragen zu automatisch generiertem Code
Hi,
in C# befinden sich alle Methoden innerhalb der Klassendefinition. Das hat die Sprache so an sich. ;) Und die Methode WinForm ist ein Konstruktor - wie bei C++. Dispose ist da wohl der Destruktor wenn ich die bisherigen Versuche mit C# richtig deute. ;) Chris |
Re: [C#] Fragen zu automatisch generiertem Code
Zitat:
Zitat:
|
Re: [C#] Fragen zu automatisch generiertem Code
Zitat:
|
Re: [C#] Fragen zu automatisch generiertem Code
Na so, wie man es eben kennt:
Code:
class Temperatur {
public int Foo(void) } int Temperatur::Foo(void) { TuWas; } |
Re: [C#] Fragen zu automatisch generiertem Code
Ah, wusste nicht, dass das auch geht. OK, meine C#-Kenntnisse sind auch nicht gerade erwähnenswert...
|
Re: [C#] Fragen zu automatisch generiertem Code
Also laut meinem Schulwissen stimmt das mit dem Konstruktor. In den meisten C-verwandten Sprachen handelt es sich bei einer Methode die genauso heißt wie die Klasse der sie angehört tatsächlich um den Konstruktor.
Naja, und dass es bei ner WinForm etwas komplizierter aussieht scheint ja ein bisl logisch. Ist bei einem Win32API-Code für ein Formular -aus meiner Sicht- ja genau das gleiche ;-) Bis dann, S - tefano |
Re: [C#] Fragen zu automatisch generiertem Code
Also es ist definitiv der Constructor :)
Und in C# ist es eigentlich gang und gebe, die Methoden direkt in der Klasse zu implementieren. Eine Klassendefinition vorher zu machen erscheint den meisten die aus dem C-Lager kommen zu viel Tipparbeit zu sein. C# ist nunmal keine Sprache, die man hinterher sauber lesen kann. |
Re: [C#] Fragen zu automatisch generiertem Code
Zitat:
Zudem ne Frage. Was soll public int Foo(void) für ne Konstruktion sein? Soll das bedeuten das Foo keine Parameter übergeben werden? Wenn ja dann wird das ohne das Void geschrieben. |
Re: [C#] Fragen zu automatisch generiertem Code
Zitat:
Code:
Hier liegen eindeutig Methoden von WinForm in einem namespace, nämlich dem von Project1.
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"; /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { Application.Run(new WinForm()); } private void btnClose_Click(object sender, System.EventArgs e) { Application.Exit(); } private void WinForm_Load(object sender, System.EventArgs e) { this.Text = APPNAME; lblBanner.Text = APPNAME; } private void btnAbout_Click(object sender, System.EventArgs e) { MessageBox.Show(INFO_TEXT, APPNAME, MessageBoxButtons.OK, MessageBoxIcon.Information); } } } Zitat:
[edit=fkerber]Neu gespeichert wg. Code-Highlighting. Mfg, fkerber[/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:48 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