Я пытаюсь понять, что есть несколько прямой способ получить отраженные свойства выполняемого в настоящее время асинхронного метода.Я ищу те же свойства, которые были бы доступны, если бы я просто делал что-то подобное в обычном неасинхронном методе:
var method = (MethodInfo)MethodBase.GetCurrentMethod();
Но если я в асинхронном методе, яполучение метода MoveNext () из рефлексии при использовании вышеуказанного рефлексивного кода.
Нужно ли мне просто наращивать стек вызовов с помощью StackTrace или StackFrame?
Единственная проблема, с которой я сталкиваюсь, это то, что она несколько ручная.Этот код должен быть динамическим, так как моя реализация будет использоваться при ведении журнала, и он должен быть надежным и точным во многих приложениях.Он должен работать как с асинхронными, так и с синхронными методами / функциями.
В настоящее время я могу обнаружить только людей, использующих атрибут baked in .net CallermemberName
, который получает правильное имя текущего выполняемого метода., но, очевидно, мне нужно больше, чем это.
Любая помощь будет принята с благодарностью.Спасибо!