У меня есть абстрактный базовый класс, начиная с timer
, который является общим для всех производных классов,
public abstract class BaseClass
{
public virtual void Start() { _timer.Start(); }
}
Теперь мне нужно загрузить разные файлы конфигурации JSON для каждого производного класса и создать файл,
public class DerivedClass1 : BaseClass
{
private readonly List<config> configs = new List<config>();
public DerivedClass1()
{
configs = JsonSettings.GetConfigurations(@"./Configurations/1.json");
}
public override void Start()
{
base.Start();
foreach (var configuration in configs)
{
JsonSettings.CreateConfigFile(configuration);
}
}
}
public class DerivedClass2 : BaseClass
{
private readonly List<config> configs = new List<config>();
public DerivedClass2()
{
configs = JsonSettings.GetConfigurations(@"./Configurations/2.json");
}
public override void Start()
{
base.Start();
foreach (var configuration in configs)
{
JsonSettings.CreateConfigFile(configuration);
}
}
}
Как я вижу, в различных производных классах дублируется множество кодов.
Можно ли переместить этот фрагмент кода так же, как и класс abstract base
, или есть другой способ?