Я хочу, чтобы реорганизовать этот класс для обработки нескольких типов объектовC#, как реорганизовать класс, добавив шаблон
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
.
Как это следует обрабатывать?
«Проблема заключается в том, что много проекта использовать этот класс, и я не хочу их чтобы изменить или даже знать, что произошло изменение ». В каком классе вы говорите? IMyClass или ConcreteObject? – Ouarzy
@Ouarzy До сих пор ни одному проекту не известно о ConcreteObject, они используют только IMyClass. – Dolev
Хорошие новости, иначе у вас не было бы никакого решения. Для этого я думаю, что ответ @Sefe сделает. – Ouarzy