В надстройке 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, например, может выполнять те граничные действия, которые вы ищете. Смотрите здесь пример того, как это делается с этой структурой.