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
Seite 1 von 3  1 23      
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

[C#] Fragen zu automatisch generiertem Code

  Alt 24. Jul 2004, 15:59
Also, ich habe mir gerade den C# Builder von Borland installiert. Bei einem leeren Projekt generiert die IDE folgendes:
Code:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
Klar, entspricht dem gewohntem uses nur dass eben die Namespaces bekannt gegeben werden, die benutzt werden sollen.

Dann:
Code:
   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);
      }
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?
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:
#region Windows Form Designer generated code
...
...
...
#endregion
Das ist auch klar, das sind die abweichenden Einstellungen von den standard Einstellungen die man im OI eingestellt hat.

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]
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: [C#] Fragen zu automatisch generiertem Code

  Alt 24. Jul 2004, 16:02
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
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: [C#] Fragen zu automatisch generiertem Code

  Alt 24. Jul 2004, 16:12
Zitat von Chakotay1308:
in C# befinden sich alle Methoden innerhalb der Klassendefinition. Das hat die Sprache so an sich.
Das ist aber ein "Kann" kein "Muss", denke ich. Nennt sich dann, glaube ich, [b]inline-Irgendwas oder so.

Zitat:
Dispose ist da wohl der Destruktor wenn ich die bisherigen Versuche mit C# richtig deute.
Also der
Destructor[i] für die Klasse? Sieht aber reichlich kompliziert aus.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: [C#] Fragen zu automatisch generiertem Code

  Alt 24. Jul 2004, 16:15
Zitat von Luckie:
Zitat von Chakotay1308:
in C# befinden sich alle Methoden innerhalb der Klassendefinition. Das hat die Sprache so an sich.
Das ist aber ein "Kann" kein "Muss", denke ich. Nennt sich dann, glaube ich, [b]inline-Irgendwas[i] oder so.
Wie sollte es denn sonst aussehen?
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: [C#] Fragen zu automatisch generiertem Code

  Alt 24. Jul 2004, 16:24
Na so, wie man es eben kennt:
Code:
class Temperatur {
  public int Foo(void)
}

int Temperatur::Foo(void) {
  TuWas;
}
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: [C#] Fragen zu automatisch generiertem Code

  Alt 24. Jul 2004, 17:24
Ah, wusste nicht, dass das auch geht. OK, meine C#-Kenntnisse sind auch nicht gerade erwähnenswert...
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#7

Re: [C#] Fragen zu automatisch generiertem Code

  Alt 24. Jul 2004, 18:22
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
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#8

Re: [C#] Fragen zu automatisch generiertem Code

  Alt 24. Jul 2004, 18:45
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.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Generalissimo

Registriert seit: 28. Aug 2003
187 Beiträge
 
Delphi 6 Enterprise
 
#9

Re: [C#] Fragen zu automatisch generiertem Code

  Alt 24. Jul 2004, 18:54
Zitat von Luckie:
Na so, wie man es eben kennt:
Code:
class Temperatur {
  public int Foo(void)
}

int Temperatur::Foo(void) {
  TuWas;
}
Eben das geht nicht! Du kannst innerhalb eines Namespaces keine Methoden oder Felder haben.

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.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

Re: [C#] Fragen zu automatisch generiertem Code

  Alt 24. Jul 2004, 18:59
Zitat von Generalissimo:
Eben das geht nicht! Du kannst innerhalb eines Namespaces keine Methoden oder Felder haben.
Das ist ja blöd. Aber es stimmt nicht fällt mir da gerade ein:
Code:
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);
      }
   }
}
Hier liegen eindeutig Methoden von WinForm in einem namespace, nämlich dem von Project1.

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.
In meinem C++ Buch steht es so drinne und so habe ich schon gerbeitet. Geht wunderbar, keine Warnung, nichts.

[edit=fkerber]Neu gespeichert wg. Code-Highlighting. Mfg, fkerber[/edit]
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 03:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz