Последовательность действий. Варианты решений - C#

Узнай цену своей работы

Формулировка задачи:

Можно ли Init() переписать более красиво и гибко?
          public class Test
        {
            private bool _st = false;
 
            private bool OwnMethod()
            {
                return _st;
            }
 
            private void BeforeMethod()
            {
                _st = true;
            }
 
            public void Init()
            {
                if (OwnMethod())
                {
                    DoMainWork();
                }
                else
                {
                    BeforeMethod();
                    if (OwnMethod())
                    {
                        DoMainWork();
                    }
                }
            }
 
            protected void DoMainWork()
            {
                
            }
        }

Решение задачи: «Последовательность действий. Варианты решений»

textual
Листинг программы
public void Init()
{
    if (OwnMethod()) DoMainWork();
    else
    {
        BeforeMethod();
        Init();
    }
}

Оцени полезность:

15   голосов , оценка 3.867 из 5
Похожие ответы