Entwickler-Ecke

C# - Die Sprache - Gültigkeitsbereiche innerhalb Methode definieren


vit30 - Fr 22.01.10 15:19
Titel: Gültigkeitsbereiche innerhalb Methode definieren
Hallo!
Kann ich Felder innerhalb einer Methode definieren?
Ich will ein Programmchen schreiben(Einmaleins), wo beim drücken auf ein Button(z.B."3") und danach anderes Button (z.B."5") im Textfeld das Ergebnis ("15") erscheint.
Ich habe es mir so vorgestellt: innerhalb jeder Methode (z.b."private void button3_Click") wird jeweils eine entsprechende Variable definiert (hier 3).Danach die beiden Variablen werden multipliziert und das Ergebnis im Textfeld erscheinen.
Problem: außerhalb der Methode existiert diese Variable nicht mehr.
Was kann ich machen?
Zweite Frage:
Kann ich für Methodenname eine Variable verwenden?
Z.B.: "private void buttonX_Click"; wo X eine Variable ist(1 bis 9).
Danke!


JasonDelife - Fr 22.01.10 15:47

Das Stichwort lautet Klassenvariable.
Und zum buttonX: Du kannst eine Methode an mehrere Ereignisse hängen.

Grüße, JasonDelife.


vit30 - Fr 22.01.10 15:57

as Stichwort lautet Klassenvariable.

Ja, klar auf Klassenebene kann ich natürlich Felder definieren. Damit komme ich aber nicht weiter. Ich muss ja aus jede Methode eine Variable "rausholen"


JüTho - Fr 22.01.10 18:16

user profile iconvit30 hat folgendes geschrieben Zum zitierten Posting springen:
Ich muss ja aus jede Methode eine Variable "rausholen"

Vielleicht willst du, dass sender ausgewertet werden kann? Das gibt den Button an, der gedrückt wurde.

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
private void buttons_Click( object sender, EventArgs e )
{
   if (sender is Button) {
      int i = int.Parse( (sender as Button).Text );
      // mach was mit i
   }
}

Aber du solltest dich mal grundsätzlich in C# einarbeiten, z.B. durch OpenBook VC# [http://openbook.galileocomputing.de/visual_csharp/], damit du die korrekten Bezeichnungen lernst und die Fragen gezielt formulieren kannst.

Jürgen