2 Stimmen

C# Übergabe von Variablen zwischen Methoden oder Eventhandlern

Ich versuche immer noch, über c# zu lernen, meine Frage ist, wie würde ich eine Variable von Item1_Click zu Item2_Click übergeben, ist dies die gleiche Sache wie die Übergabe zwischen Methoden oder ist dies anders, weil Sie Event-Handler sind?

public partial class Events : System.Web.UI.UserControl
{
     protected void Item1_Click(object sender, EventArgs e)
    {

          //code

    }

    protected void Item2_Click(object sender, EventArgs e)
    {
          //code
    }
}

0voto

SWeko Punkte 29544

Ein Event-Handler ist lediglich eine Methode, die in einem bestimmten Szenario aufgerufen wird. Es gibt nichts, was Sie daran hindert, diese Methoden explizit aufzurufen.

protected void Item1_Click(object sender, EventArgs e)     
{            
  Item2_Click(sender, e); //pass the original arguments
  Item2_Click(null, null); //pass some other arguments
  Item1_Click(null, null); //recursively call the handler.
} 

ist vollkommen gültiger C#-Code. Allerdings ist es eine schlechte Praxis, Event-Handler für etwas anderes als, im Grunde Handhabung des Ereignisses zu verwenden. Wenn zwei Handler müssen einige gleiche Logik zu verwenden, ist es besser zu tun:

protected void Item1_Click(object sender, EventArgs e)
{
  CommonLogic();
}

protected void Item2_Click(object sender, EventArgs e)
{
  CommonLogic();
}

private void CommonLogic()
{
  //the common logic goes here
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X