Допустим, у меня есть некоторый WIP API вместе с проектом тестирования, и я хочу переместить некоторые поля в поле контейнера. Как бы я сделал это, чтобы все ссылки на эти поля в тестовом проекте теперь ссылались на них в содержащем поле?
class Main {
public Foo foo;
public Bar bar;
public Baz baz;
}
class Testing {
void DoSomething ( Main main ) {
main.foo + main.bar + main.baz;
}
}
Должен превратиться в
class Main {
public Container qux;
}
class Container {
public Foo foo;
public Bar bar;
public Baz baz;
}
class Testing {
void DoSomething ( Main main ) {
main.qux.foo + main.qux.bar + main.qux.baz;
}
}
Моя первая идея была " Возможно, я мог бы заменить все «.foo», следующие за ссылкой «Main», на «.qux.foo» и т. Д. ». Это возможно?
Я думаю о чем-то вроде Replace "(?<main>[metadata.type='Main']).foo" With "${main}.qux.foo"
.