// Internal for testing i.e. for confirming above constructor sets IsStringProperty as expected. internal TagHelperAttributeDescriptor( [NotNull] string name, [NotNull] string propertyName, [NotNull] string typeName, bool isIndexer, bool isStringProperty, TagHelperAttributeDesignTimeDescriptor designTimeDescriptor) { Name = name; PropertyName = propertyName; TypeName = typeName; IsIndexer = isIndexer; IsStringProperty = isStringProperty; DesignTimeDescriptor = designTimeDescriptor; }
/// <summary> /// Instantiates a new instance of the <see cref="TagHelperAttributeDescriptor"/> class. /// </summary> /// <param name="name"> /// The HTML attribute name or, if <paramref name="isIndexer"/> is <c>true</c>, the prefix for matching /// attribute names. /// </param> /// <param name="propertyName">The name of the CLR property that corresponds to the HTML attribute.</param> /// <param name="typeName"> /// The full name of the named (see <paramref name="propertyName"/>) property's <see cref="Type"/> or, /// if <paramref name="isIndexer"/> is <c>true</c>, the full name of the indexer's value <see cref="Type"/>. /// </param> /// <param name="isIndexer"> /// If <c>true</c> this <see cref="TagHelperAttributeDescriptor"/> is used for dictionary indexer assignments. /// Otherwise this <see cref="TagHelperAttributeDescriptor"/> is used for property assignment. /// </param> /// <param name="designTimeDescriptor">The <see cref="TagHelperAttributeDesignTimeDescriptor"/> that contains /// design time information about this attribute.</param> /// <remarks> /// HTML attribute names are matched case-insensitively, regardless of <paramref name="isIndexer"/>. /// </remarks> public TagHelperAttributeDescriptor( [NotNull] string name, [NotNull] string propertyName, [NotNull] string typeName, bool isIndexer, TagHelperAttributeDesignTimeDescriptor designTimeDescriptor) : this( name, propertyName, typeName, isIndexer, isStringProperty : string.Equals(typeName, typeof(string).FullName, StringComparison.Ordinal), designTimeDescriptor : designTimeDescriptor) { }