У меня есть следующий класс, в конструкторе которого слишком много параметров, и я хочу реорганизовать класс, чтобы получить только один объект, который инкапсулирует все параметры.
public class MyClass
{
public MyClass(
string param1,
string param2,
string param3,
string param4,
string param5)
{
...
}
}
Можно ли использовать утилиту рефакторинга Visual Studio для инкапсуляции всех параметров конструктора в новый класс?
public class MyClass
{
public MyClass(MyClassParameters parameters)
{
...
}
}
public class MyClassParameters
{
public string Param1 { get; set; }
public string Param2 { get; set; }
public string Param3 { get; set; }
public string Param4 { get; set; }
public string Param5 { get; set; }
}
Так что мои вопросы
- Могу ли я сделать это с помощью Visual Studio, чтобы мне не пришлось вручную обновлять все ссылки на класс
MyClass
?
- Существуют ли другие инструменты рефакторинга, поддерживающие эту функцию, такие как Resharper или другие?
Это тяжелая работа, поскольку у меня есть тысячи ссылок на этот класс в моем модульном тестировании.