В настоящее время я выполняю рефакторинг старой библиотеки Visual Basic DLL (VB.Net), которая хранит все свои данные в одном модуле под названием Globaldefinitions в качестве открытых полей. Вокруг кода существует около 200 полей, на которые тысячи раз ссылаются:
Public Module Globaldefinitons
Public a As Short
...
Public zz10 As Double
End Module
В самой DLL после импорта Globaldefinitions эти поля ссылаются на свое имя (без префикса модуля):
a = 5
Мне нужно изменить модуль на класс с неиспользуемыми полями. Это означает, что каждая из этих тысяч ссылок должна ссылаться на экземпляр этого класса:
globalDefinitionsInstance.a = 5
Как мне сделать это эффективно?
Регулярные выражения, работающие с источником, не работают. Инструменты рефакторинга, такие как Re-Sharper или CodeRush, похоже, не предлагают эту функциональность. Visual Studio 2010 также не может сделать это автоматически.