В надстройке VS2010 в C# как получить имя и подпись метода, в котором находится курсор в данный момент?

В надстройке VS2010 в C# как получить имя и подпись метода, в котором находится курсор в данный момент?

Я хочу создать надстройку, которая при запуске получает имя и подпись текущего метода, а затем добавляет сообщения журнала "in" и "out" для этого метода.

Пример:

До:

public void TheMethod(string text)
{
...

return text;
}

После:

public void TheMethod(string text)
{
log.Trace("public void TheMethod( string text =" + text + " ) - in");

...

log.Trace("public void TheMethod( ... ) - out with text = " + text );

return text;
}

Существуют ли какие-либо учебные пособия / ссылки для надстроек, которые охватывают получение информации о методе, просмотр верхней и нижней части метода, вставку текста и т. Д.? Я пробовал Googling, и я не получаю MyC, это полезно.

2 ответа

Возможно, вы захотите рассмотреть то, что называется аспектно-ориентированным подходом. См. Аспектно-ориентированное программирование: когда начинать использовать фреймворк? для хорошего начала.

Именно для удовлетворения ваших требований к журналированию, это то, для чего подходит Aspect Oriented Programming. PostSharp, например, может выполнять те граничные действия, которые вы ищете. Смотрите здесь пример того, как это делается с этой структурой.

Другие вопросы по тегам