У меня есть класс, в котором есть 3 метода
- публичный DoSth
- приватный DoItForReal
- частный DoSthExtra
Пользователь может вызвать один из 2 конструкторов (объект может быть изменен только во время строительства)
Я хочу, чтобы пользователь вызывал метод DoSth, и в зависимости от того, с каким конструктором вызывался, я жду вызова:
- DoItForReal (только!)
- DoItForReal и DoSthExtra
У меня вопрос, какая реализация лучше по производительности (DoSth будет вызываться 30 раз в секунду)?
Реализация1 (используется if statemant):
DoSth()
{
DoItForReal();
if (ctor1)
DoSthExtra();
}
Реализация2 (с использованием событий):
private event Action DoSthEvent;
Ctor1()
{
DoSthEvent += DoItForReal;
DoSthEvent += DoSthExtra;
}
Ctor2()
{
DoSthEvent += DoItForReal;
}
DoSth()
{
DoSthEvent();
}