C#如何通过添加模板来重构类

时间:2017-01-05 10:14:20

标签: c# generics refactoring

我想重构这个类来处理更多类型的对象

public class MyClass : IMyClass  
{
  public void method()
  {
    IT obj= new ConcreteObject();
    //Some code
  }
}

进入这个:

public class MyClass<T> : IMyClass 
  where T: IT, new()
{
  public void method()
  {
    IT obj= new T();
    //Some code
  }
}

因为现在新的ConcreteObject中提供了更多功能。

问题在于很多项目都使用MyClass,我不希望它们发生变化,甚至不知道有变化。

我只想将T的默认值设为ConcreteObject

应如何处理?

1 个答案:

答案 0 :(得分:4)

您可以将node --inspect index.js的通用版本作为非泛型版本的中间版本。只要您在重构过程中小心,非泛型类的类接口将保持不变:

MyClass