=> new DynamicMethod(methodName, types.returnType, types.parameterTypes);
var method = typeof(TClass).GetMethod(methodName, BindingFlags.NonPublic | BindingFlags.Instance);
WriteLine(LogLevel.Warn, obj, methodName, filePath, lineNumber);
var mi = target.GetType().GetMethod(methodName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
WriteLine(LogLevel.Error, obj, methodName, filePath, lineNumber);
WriteLine(LogLevel.Debug, obj, methodName, filePath, lineNumber);
.GetMethod( methodName, BindingFlags.Instance | BindingFlags.NonPublic,
=> new MethodRefBuilder(module, typeRef, FindMethod(typeRef, methodName, genericArity, paramTypes ?? throw new ArgumentNullException(nameof(paramTypes))));
LogRequest(methodName, providedParameters, expectedParameters);