public static string GetPropertyName(this BoundAttributeParameterDescriptorBuilder builder)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (builder.Metadata.TryGetValue(TagHelperMetadata.Common.PropertyName, out var value))
            {
                return(value);
            }

            return(null);
        }
        public static void SetPropertyName(this BoundAttributeParameterDescriptorBuilder builder, string propertyName)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (propertyName == null)
            {
                throw new ArgumentNullException(nameof(propertyName));
            }

            builder.Metadata[TagHelperMetadata.Common.PropertyName] = propertyName;
        }