Example #1
0
 /// <summary>
 /// 移除一个属性
 /// </summary>
 /// <param name="attribute"></param>
 internal void RemoveAttribute(DomAttribute attribute)
 {
     lock ( SyncRoot )
     {
         _attributes.Remove(attribute);
     }
 }
Example #2
0
        /// <summary>
        /// 添加一个属性
        /// </summary>
        /// <param name="name">属性名</param>
        /// <param name="value">属性值</param>
        /// <returns>添加后的属性</returns>
        internal IHtmlAttribute AddAttribute(string name, string value)
        {
            lock ( SyncRoot )
            {
                if (_attributes.Contains(name))//容器自身会执行不区分大小写的查找
                {
                    throw new InvalidOperationException(string.Format(CultureInfo.InvariantCulture, "元素已经存在名为 \"{0}\" 的属性。", name));
                }

                /*
                 * if ( !attributeNameRegex.IsMatch( name ) )
                 * throw new FormatException( "属性名称格式不正确" );
                 */

                var attribute = new DomAttribute(this, name, value);
                _attributes.Add(attribute);

                return(attribute);
            }
        }