Source/Items.cs

(开头部分) 5KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

namespace DevComponents.DotNetBar
{
    using System;
	using System.Collections;

    /// <summary>
    ///		Holds reference to all unique items in the DotNetBar.
    /// </summary>
    public class Items:IEnumerable,IDisposable
    {
		private System.Collections.SortedList m_Items;
		private DotNetBarManager m_Owner;

        internal Items(DotNetBarManager objOwner)
        {
			m_Items=new System.Collections.SortedList();
			m_Owner=objOwner;
        }

		public void Dispose()
		{
			this.Clear();
			m_Items=null;
			m_Owner=null;
		}

		public void Clear()
		{
			if(m_Owner!=null)
			{
				foreach(BaseItem item in m_Items.Values)
					((IOwner)m_Owner).RemoveShortcutsFromItem(item);
			}
			m_Items.Clear();
		}

		public void Add(BaseItem objItem)
		{
			if(objItem==null)
				throw new System.ArgumentNullException("Item must be valid value");
			if(objItem.Name==null || objItem.Name=="")
			{
				// Auto assign item name
				objItem.Name="item_"+objItem.Id.ToString();
			}
			if(m_Items.ContainsKey(objItem.Name))
			{
				throw new System.InvalidOperationException("Item with this name already exists");
			}
			
			if(objItem.Parent!=null)
				throw new System.InvalidOperationException("Item already has a Parent. Remove item from Parent first.");
				
			objItem.SetOwner(m_Owner);
			objItem.GlobalItem=true;

			m_Items.Add(objItem.Name,objItem);
		}

		public void AddCopy(BaseItem objItem)
后面还有 159 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。