Передача данных в модал начальной загрузки

AOP является обязательным для реализации чистого кода, однако, если вы хотите окружить блок на C #, общие методы имеют относительно простое использование. (с понятием intelli и строго типизированным кодом). Конечно, он НЕ может быть альтернативой AOP.

Хотя PostSHarp имеют мало проблем с ошибкой (я не уверен, что буду использовать на производстве ), это хороший материал.

Общий класс обертки,

public class Wrapper
{
    public static Exception TryCatch(Action actionToWrap, Action exceptionHandler = null)
    {
        Exception retval = null;
        try
        {
            actionToWrap();
        }
        catch (Exception exception)
        {
            retval = exception;
            if (exceptionHandler != null)
            {
                exceptionHandler(retval);
            }
        }
        return retval;
    }

    public static Exception LogOnError(Action actionToWrap, string errorMessage = "", Action afterExceptionHandled = null)
    {
        return Wrapper.TryCatch(actionToWrap, (e) =>
        {
            if (afterExceptionHandled != null)
            {
                afterExceptionHandled(e);
            }
        });
    }
}

использование может быть таким (с понятием intelli)

var exception = Wrapper.LogOnError(() =>
{
  MessageBox.Show("test");
  throw new Exception("test");
}, "Hata");

462
задан Kamil Kiełczewski 10 April 2019 в 14:50
поделиться