ArxOne / MrAdvice

.NET aspect weaver (build task under NuGet package)
MIT License
308 stars 45 forks source link

StackTraceHiddenAttribute #186

Closed rgroenewoudt closed 1 year ago

rgroenewoudt commented 1 year ago

.NET 6 has a new StackTraceHiddenAttribute which allow methods to be hidden.

We use MrAdvice a lot and as a result we see this very often in the stacktrace:

at ArxOne.MrAdvice.Advice.InnerMethodContext.Invoke()
at ArxOne.MrAdvice.Advice.SyncAdviceContext.Proceed()
--- Our own attribute.Advice() here ---
at ArxOne.MrAdvice.Advice.MethodAdviceContext.Invoke()
at ArxOne.MrAdvice.Invocation.ProceedAdvice2(Object target, Object[] parameters, RuntimeMethodHandle methodHandle, RuntimeMethodHandle innerMethodHandle, RuntimeMethodHandle delegatableMethodHandle, RuntimeTypeHandle typeHandle, Boolean abstractedTarget, Type[] genericArguments)
at ArxOne.MrAdvice.⚡Invocation.ProceedAspect(Object , Object[] , RuntimeMethodHandle , RuntimeMethodHandle , RuntimeMethodHandle )

It would be nice if these methods have StackTraceHiddenAttribute so that they don't show up in the stacktrace, making it smaller.