?? attributelist.cs
字號(hào):
using System;
using System.Collections;
namespace Spider
{
/// <summary>
/// The AttributeList class is used to store list of
/// Attribute classes.
///
/// This spider is copyright 2003 by Jeff Heaton. However, it is
/// released under a Limited GNU Public License (LGPL). You may
/// use it freely in your own programs. For the latest version visit
/// http://www.jeffheaton.com.
///
/// </summary>
/// public class AttributeList:Attribute
{ /// <summary>
/// An internally used Vector. This vector contains
/// the entire list of attributes.
/// </summary> protected ArrayList m_list; /// <summary>
/// Make an exact copy of this object using the cloneable interface.
/// </summary>
/// <returns>A new object that is a clone of the specified object.</returns> public override Object Clone() { AttributeList rtn = new AttributeList(); for ( int i=0;i<m_list.Count;i++ ) rtn.Add( (Attribute)this[i].Clone() ); return rtn; } /// <summary>
/// Create a new, empty, attribute list.
/// </summary> public AttributeList():base("","") { m_list = new ArrayList(); } /// <summary>
/// Add the specified attribute to the list of attributes.
/// </summary>
/// <param name="a">An attribute to add to this AttributeList.</param> public void Add(Attribute a) { m_list.Add(a); } /// <summary>
/// Clear all attributes from this AttributeList and return it
/// to a empty state.
/// </summary> public void Clear() { m_list.Clear(); } /// <summary>
/// Returns true of this AttributeList is empty, with no attributes.
/// </summary>
/// <returns>True if this AttributeList is empty, false otherwise.</returns> public bool IsEmpty() { return( m_list.Count<=0); } /// <summary>
/// If there is already an attribute with the specified name,
/// then it will have its value changed to match the specified value.
/// If there is no Attribute with the specified name, then one will
/// be created. This method is case-insensitive.
/// </summary>
/// <param name="name">The name of the Attribute to edit or create. Case-insensitive.</param>
/// <param name="value">The value to be held in this attribute.</param> public void Set(string name,string value) { if ( name==null ) return; if ( value==null ) value=""; Attribute a = this[name]; if ( a==null )
{ a = new Attribute(name,value); Add(a); }
else a.Value = value; } /// <summary>
/// How many attributes are in this AttributeList
/// </summary> public int Count { get { return m_list.Count; } } /// <summary>
/// A list of the attributes in this AttributeList
/// </summary> public ArrayList List { get { return m_list; } } /// <summary>
/// Access the individual attributes
/// </summary> public Attribute this[int index] { get { if ( index<m_list.Count ) return(Attribute)m_list[index]; else return null; } } /// <summary>
/// Access the individual attributes by name.
/// </summary> public Attribute this[string index] { get { int i=0; while ( this[i]!=null )
{ if ( this[i].Name.ToLower().Equals( (index.ToLower()) )) return this[i]; i++; } return null; } } }
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -