Я сконфигурировал AspectJ с помощью Spring, и он отлично работает, когда "ловит" общедоступные методы, вызываемые из вне класса. Теперь я хочу сделать что-то вроде этого:
public class SomeLogic(){
public boolean someMethod(boolean test){
if(test){
return innerA();
} else {
return innerB();
}
}
private boolean innerA() {// some logic}
private boolean innerA() {// some other logic}
}
SomeLogic - это SpringBean. Методы innerA () и innerB () могут быть объявлены как частные или общедоступные - метод someMethod () вызывается из действия Struts. Можно ли с помощью AspectJ отловить методы innerA () или innerB (), вызываемые из someMethod ()?
Моя конфигурация (на основе XML): Прямо сейчас я реализовал (как предлагает MSDN) настраиваемый хост T4 для генерации моих результатов T4, и я использую его следующим образом: ...
Я создаю подключаемый модуль в VS 2010, и я застрял на T4 поколение. Прямо сейчас я реализовал (как предлагает MSDN) пользовательский хост T4 для генерации моих результатов T4, и я использую его следующим образом:
const string content = @"c:\Simple.tt";
var engine = new Engine();
var host = new MyTemplateHost();
var result = engine.ProcessTemplate(File.ReadAllText(content), host);
foreach (CompilerError error in host.Errors)
{
Console.WriteLine(error.ErrorText);
}
Это работает, пока я не передам параметр в шаблоне. Как только я создаю параметр в файле .tt, Хост приходит в ужас, говоря, что не знает, как его решить. Я видел, что вы можете использовать TemplateSession для этого, но не понял, как передать его моему хосту? Есть ли лучший способ генерации кода из .tt с использованием C # и передачи параметров во время выполнения? Возможно, я на ложном пути.