Re[3]: Aspect Generator (по мотивам "Новости C#12")
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 24.11.23 07:33
Оценка:
Здравствуйте, IT, Вы писали:

S>>Предлагаю еще добавить фичу обертки метода по комментарию.

S>>Часто нужно создать отдельную сборку с большей информацией о параметрах и возвратах в определенных местах

IT>Не понял.




// Помечаю метод каким то определенным комментарием
 Method1();


И вызов метода превращается

public static void Method1_Interceptor()
{
    // Aspects.MetricsAttribute
    //
    var __info__0 = new Aspects.InterceptCallInfo<Void>
    {
        MemberInfo      = Method1_Interceptor_MemberInfo,
        AspectType      = typeof(Aspects.MetricsAttribute),
        AspectArguments = Method1_Interceptor_AspectArguments_0,
    };

    using (Aspects.MetricsAttribute.OnUsing(__info__0))
    {
        try
        {
            OpenTelemetryAspect.Program.Method1();
        }
        catch (Exception __ex__)
        {
            __info__0.Exception = __ex__;
            throw;
        }
        finally
        {
            __info__0.InterceptType = Aspects.InterceptType.OnFinally;
            Aspects.MetricsAttribute.OnFinally(__info__0);
        }
    }
}


Причем другие вызовы этого метода меня не интересуют. Только в конкретном месте. Там может несколько методов, что бы получить более детальную информацию.
и солнце б утром не вставало, когда бы не было меня
Отредактировано 24.11.2023 17:30 IT . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.