Пока Вы устанавливаете маршрутизацию в web.config, устанавливаете необходимую структуру каталогов и добавляете правильные маршруты в global.asax, Вы могли теоретически добавить объекты MVC к любому веб-проекту. Насколько я знаю, это - единственные требования для него для работы.
Однако комбинация этих двух могла бы немного сбивать с толку и могла бы быть трудной поддержать, длительный срок. Возможно, Вы могли переместить весь существующий контент сайта веб-форм в подпапку, чтобы не допустить его в путь и сохранить корневой каталог сайта чистым, чтобы уменьшить помеху и сделать вещи более ясными.
Я еще не нашел хорошего подхода для исключения свойств, доступных только для чтения (т. Е. MetaClass, class), но если вы хотите установить значение всех свойств в экземпляре Foo, также находятся в экземпляре Foo2, вы можете сделать следующее:
class Foo {
def feck = "fe"
def arse = "ar"
def drink = "dr"
}
class Foo2 {
def feck = "fe2"
def arse = "ar2"
def drink = "dr2"
}
def f = new Foo()
def f2 = new Foo2()
f2.properties.each { prop, val ->
if(prop in ["metaClass","class"]) return
if(f.hasProperty(prop)) f[prop] = val
}
assert f.feck == "fe2"
assert f.arse == "ar2"
assert f.drink == "dr2"