2017-05-29 2 views
0

Ich möchte eine Methode, um Methodenaufrufer und Eigenschaften zu erkennen.So erkennen Sie den Aufrufer einer Methode und ihre Eigenschaften

zum Beispiel, wenn ich diese Methode auf eine Schaltfläche mit dem Namen 'btn' aufgerufen habe, sollte es "btn" in einem Meldungsfeld für mich drucken.

Gesucht im Internet, aber nur gefunden, wie zu erkennen, ob die Methode zuvor aufgerufen wurde!

Vielen Dank im Voraus für Ihre Hilfe!

+1

Wenn Sie einen generischen Ansatz suchen, der nicht nur Ereignisse abdeckt, sondern auch andere Methoden verwenden, um die [Caller Information] (https://msdn.microsoft.com/en-us/library/ hh534540 (v = vs.110) .aspx) -Funktion. –

Antwort

4

Sie können einen sender Objektparameter verwenden. Etwas wie folgt aus:

private void button1_Click(object sender, EventArgs e) 
{ 
    method1(sender); 
} 

public void method1(object sender) 
{ 
    var button = sender as Button; 
    if (button != null) 
    { 
     var caller = button.Name; 
     MessageBox.Show(caller);//It shows button1 
    } 
} 
+1

oder, wenn Ihre Compiler-Version neu genug ist, 'if (sender is Button button)' –

Verwandte Themen