I've a little problem with getting the caller for my extension method.
Searched the internet but couldn't find anything simular to my problem. This question was a close call...
I've a extension method :
public static void TabToNextField(this FrameworkElement i, FrameworkElement nextField)
{
i.KeyPress(Keys.Tab);
var isNextFieldFocused = nextField.GetProperty<bool>("IsFocused");
if (!isNextFieldFocused)
{
//Taborder is incorrect. Next field wasn't focused!
//This wont work since 'this' can't be used in a static context.
var currentProcedure = this.GetType().Name;
var fromField = i.AutomationId;
var toField = nextField.AutomationId;
//Log to file..
}
}
This is used for some automated tests to validate if the nextfield has focus and the tab order is correct. But for the error that should be logged i would like to get the Class name of the caller to get a accurate report that we can directly see where the error is in our application.
Since all the controls are using AutomationId the controls are easy to identify..
So the question is: How can i get the caller method from this extension method?