Это, к сожалению, одна из ловушек запутывания, без реального обходного пути (весь смысл запутывания заключается в том, чтобы скрыть и запутать ту информацию, которую вы пытаетесь показать здесь).
С точки зрения удобства использованияВ любом случае вы должны создавать сообщения об ошибках из значимых, где это возможно, таких как «Файл {0} не найден».Если вы запутываете свой код, то определенно не сможете полагаться на имена методов (или другую отраженную информацию) для создания своих сообщений об ошибках.
Кстати, встраивание имени метода в виде строки в ваш метод таким образом, по сути, отменяетвсе равно работа обфускатора.Я бы посоветовал:
- Во-первых, измените обработку ошибок, чтобы предсказать, какие могут быть сценарии ошибок (например, сбой ввода-вывода файла или доступа к БД), и обрабатывайте их разумным образом для каждой конкретной ситуации,что должно исключить необходимость использования имен методов в сообщениях об ошибках.
- В противном случае, если вы действительно полагаетесь на эту информацию в своем приложении, просто не запутывайте (я все равно никогда не был за запутывание).
Наконец, обработка ошибок, которую вы делаете, должна, вероятно, в любом случае выполняться в событии ThreadException , но это уже совсем другая тема!: -)