2015-08-24 2 views
0

Я переношу свое приложение с телефона Windows 8.1 в универсальное приложение Win10. В какой-то момент мне нужно имя вызывающего метода. Раньше я делал это с помощью:Как получить имя метода вызова в универсальном приложении win 10

new StackFrame(1).GetMethod().Name 

Но этот API больше не supportet как я узнал в https://github.com/dotnet/corefx/issues/1420

По некоторым причинам лесозаготовительных мне нужно имя метода вызова. Может кто-нибудь мне помочь?

ответ

1

Обратите внимание, что эта реализация потребует определения необязательных параметров в методе, в котором вы ожидаете получить доступ к имени вызывающего метода. Следовательно, если вам это нужно только в определенных местах (например: метод, который будет регистрировать исключение), то вы можете использовать атрибут CallerMemberName, найденный в пространстве имен System.Runtime.CompilerServices.

Вы можете увидеть пример штрафа в CallerMemberNameAttribute class documentation

+0

Works! спасибо – Luinil

Смежные вопросы