Der beste Weg, dies ist nicht in Bezug auf den Ereignissen zu tun genannt werden, sondern nur genannt werden Methoden.
Wenn in der einfachsten Form Ihre Veranstaltungen Method1
gerade angerufen und Method2
jeweils dann könnte man leicht Method1
Anruf Method2
und tun, was es tut.
könnten Sie erhöhen potenziell erhöhen event1
von innen event2
aber es muss nicht unbedingt Sinn, dies zu tun machen (zum Beispiel, wenn es sich um ein Click-Ereignis ist, sollte es nur durch einen Klick erhöht werden. Am besten ist es nur gemeinsame Code Refactoring in eine Methode, die leicht unter Verwendung von Standard-OOP-Techniken aufgerufen werden kann.In meinem Code unten habe ich die extrahierten Methoden statische Methoden, so dass sie leichter von anderen Objekten aufrufen und angenommen, dass Method1
ist in Class1
(nicht explizit angezeigt), die in ist Namespace1
. Möglicherweise müssen Sie die Dinge etwas anders machen, wenn Sie sie als nicht statische Methoden benötigen. "
Hier ist das Beispiel, was ich meine.
public void event1(object1 sender, eventArgs e1)
{
var myParameter = ...;
Method1(myParameter);
}
public static void Method1(object myParameter)
{
// code goes here
}
public void event2(object2 sender, eventArgs e2)
{
var myParameter = ...;
Method2(myParameter);
}
public static void Method2(object myParameter)
{
Namespace1.Class1.Method1(myParameter);
}
Ereignisse können nicht aufgerufen werden, sie können ausgelöst werden, und Ihre Frage enthält nicht annähernd genug Details zu beantworten. Bitte versuche ein [mcve] zu erstellen. –
Bitte klären Sie Ihr spezifisches Problem oder fügen Sie weitere Details hinzu, um genau das hervorzuheben, was Sie benötigen. Wie es derzeit geschrieben wird, ist es schwer zu sagen, was genau Sie fragen. Informationen zur Klärung dieser Frage finden Sie auf der [ask] -Seite. – Enigmativity
Das ist kein Event, sondern Event-Handler und es klingt so, als ob man nur Code aus einem anderen Fenster/Formular ausführen möchte. Es gibt Dutzende von Fragen wie diese (z. B. [diese] (http://stackoverflow.com/q/12890754/1997232)). Sie haben den Event-Handler bereits öffentlich gemacht (obwohl es besser ist, eine dedizierte öffentliche Methode zu erstellen, die vom Event-Handler und von einer anderen Klasse aufgerufen wird), jetzt brauchen Sie nur die Instanz des entsprechenden Objekts (das den Event-Handler enthält) entweder übergeben oder über eine * manager * -Klasse (z. B. 'Application.OpenForms' in winforms) erhalten werden. – Sinatr