我正在维护由其他开发人员编写的代码。我在一个相当大的课程中遇到了这个(假设20或30个函数 - 我只在下面显示3个):
public class Widget
{
DisposableObject do = new DisposableObject();
private void function1()
{
do.something();
...
}
private void function2()
{
do.something();
...
}
private void function3()
{
do.something();
...
}
}
对于我的问题,考虑以下因素非常重要:
理想情况下,我想以某种方式重构这个类,以便我可以做这样的事情:
using (DisposableObject do = new DisposableObject())
{ ... }
不幸的是,我不太了解做对象如何在这个类中改变各种函数 - 否则我可以删除全局声明并为每个函数添加using语句。
是否有一种简洁的方法可以使用依赖注入或工厂来确保此类继续以其功能失调的方式运行,但在使用的代码时会正确处理对象执行这堂课完成了它需要做的事情?我想确保做得到妥善处理,但我也想确保我不会破坏现有代码。
感谢您的帮助。