示例#1
0
        /// <summary>
        /// Returns an augmented data row with added metadata from the
        /// specified metadata map.
        /// </summary>
        /// <remarks>
        /// <para>
        /// The original data row is not modified!
        /// </para>
        /// </remarks>
        /// <param name="map">The metadata map.</param>
        /// <returns>The augmented data row.</returns>
        /// <exception cref="ArgumentNullException">Thrown if <paramref name="map"/>
        /// is null.</exception>
        public DataRow WithMetadata(PropertyBag map)
        {
            if (map == null)
            {
                throw new ArgumentNullException("map");
            }

            DataRow result = this;

            foreach (KeyValuePair <string, string> pair in map.Pairs)
            {
                result = result.WithMetadata(pair.Key, pair.Value);
            }
            return(result);
        }