Это не помогает перезапуску в режиме разработки, который у вас есть, но именно так я решил эту проблему. Это некрасиво и, вероятно, не очень хорошая практика, но я делю общий код на классы как замыкания. Тогда я могу сделать что-то вроде:
new ControllerClosures().action(this)
и из с в классе controllerClosures
def action={
it.response.something
return [allYourData]
}
Еще одна вещь ... Если вы сравниваете переменную с константой (например, целым числом или строкой), размещение константы слева - хорошая практика, потому что вы никогда не столкнетесь с NullPointerExceptions:
int i;
if(i==1){ // Exception raised: i is not initialized. (C/C++)
doThis();
}
тогда как
int i;
if(1==i){ // OK, but the condition is not met.
doThis();
}
Теперь, поскольку по умолчанию C # создает экземпляры всех переменных, у вас не должно быть этой проблемы на этом языке.