C # Console.Writeline Заполнители для имени функции - PullRequest
1 голос
/ 23 февраля 2012

Есть ли заполнители для имени текущей функции при использовании Console.Writeline ()?

Ответы [ 4 ]

6 голосов
/ 23 февраля 2012

Я считаю, что это то, что вы ищете:

using System.Diagnostics;

StackTrace stackTrace = new StackTrace();
Console.WriteLine(stackTrace.GetFrame(1).GetMethod().Name);
6 голосов
/ 23 февраля 2012

В Reflection у вас есть MethodBase.GetCurrentMethod () в качестве опции.

2 голосов
/ 23 февраля 2012

См. http://www.codeproject.com/Articles/7964/Logging-method-name-in-NET

Другой (лучший) вариант для ведения журнала - AOP , использующий такие фреймворки, как PostSharp

1 голос
/ 23 февраля 2012

Нет, если вы не хотите использовать отражение. Тем не менее, C # 5 будет включать новую функцию под названием «Атрибуты Caller Info», которая будет вставлять информацию во время компиляции. Смотри http://bartwullems.blogspot.com/2012/02/c-5-caller-info-attributes.html

...