/// <summary>
        /// Registers <paramref name="attributeType"/> to be read by <paramref name="reader"/>.
        /// </summary>
        /// <param name="attributeType">Type of attribute.</param>
        /// <param name="reader">Reader to process attributes of type <paramref name="attributeType"/>.</param>
        /// <returns>Self (for fluency).</returns>
        public AttributeMetadataReaderCollection Add(Type attributeType, IAttributeMetadataReader reader)
        {
            Ensure.NotNull(attributeType, "attributeType");
            Ensure.NotNull(reader, "reader");

            lock (storageLock)
            {
                values[attributeType] = reader;
            }

            return(this);
        }
Пример #2
0
 /// <summary>
 /// Registers <typeparamref name="TAttribute"/> to be read by <paramref name="reader"/>.
 /// </summary>
 /// <typeparam name="TAttribute">Type of attribute.</typeparam>
 /// <param name="reader">Reader to process attributes of type <typeparamref name="TAttribute"/>.</param>
 /// <returns>Self (for fluency).</returns>
 public static AttributeMetadataReaderCollection Add <TAttribute>(this AttributeMetadataReaderCollection collection, IAttributeMetadataReader reader)
     where TAttribute : Attribute
 {
     Ensure.NotNull(collection, "collection");
     return(collection.Add(typeof(TAttribute), reader));
 }
 /// <summary>
 /// Tries to get metadata reader for attribute of type <paramref name="attributeType"/>.
 /// </summary>
 /// <param name="attributeType">Type of attribute.</param>
 /// <param name="reader">Registered reader for attributes of type <paramref name="attributeType"/>.</param>
 /// <returns><c>true</c> if reader is registered; <c>false</c> otherwise.</returns>
 public bool TryGet(Type attributeType, out IAttributeMetadataReader reader)
 {
     Ensure.NotNull(attributeType, "attributeType");
     return(values.TryGetValue(attributeType, out reader));
 }