Esempio n. 1
0
        private static string GetTemplateParameterName([NotNull] this ITypeMember typeMember)
        {
            var templateFormatAttribute = typeMember.GetAttributeInstances(AttributesSource.All)
                                          .FirstOrDefault(a => a.GetAttributeShortName() == "MessageTemplateFormatMethodAttribute");

            if (templateFormatAttribute != null)
            {
                return(templateFormatAttribute.PositionParameters()
                       .FirstOrDefault()
                       ?.ConstantValue.Value?.ToString());
            }

            var className = typeMember.GetContainingType()?.GetClrName().FullName;

            if (className == "Microsoft.Extensions.Logging.LoggerExtensions")
            {
                return(typeMember.ShortName == "BeginScope" ? "messageFormat" : "message");
            }

            return(null);
        }