Exemple #1
0
        public void SetValue(string name, object Value, Type ValueType)
        {
            if (System.Xml.XmlReader.IsName(name) == false)
            {
                throw new ArgumentException("name");
            }

            if (ValueType == null)
            {
                throw new ArgumentNullException("ValueType");
            }
            foreach (XVBAScriptGlobalObject item in myItems)
            {
                if (string.Compare(item.Name, name, true) == 0)
                {
                    item.Value     = Value;
                    item.ValueType = ValueType;
                    return;
                }
            }
            XVBAScriptGlobalObject newItem = new XVBAScriptGlobalObject();

            newItem.Name      = name;
            newItem.Value     = Value;
            newItem.ValueType = ValueType;
            myItems.Add(newItem);
        }
Exemple #2
0
        /// <summary>
        /// 删除指定名称的全局对象
        /// </summary>
        /// <param name="name">指定的名称</param>
        public void Remove(string name)
        {
            XVBAScriptGlobalObject item = GetItem(name);

            if (item != null)
            {
                myItems.Remove(item);
            }
        }
Exemple #3
0
        /// <summary>
        /// 复制对象
        /// </summary>
        /// <returns>复制品</returns>
        object ICloneable.Clone()
        {
            XVBAScriptGlobalObjectList list = ( XVBAScriptGlobalObjectList)System.Activator.CreateInstance(this.GetType());

            list.myItems.Clear();
            foreach (XVBAScriptGlobalObject item in this.myItems)
            {
                XVBAScriptGlobalObject newItem = new XVBAScriptGlobalObject();
                newItem.Name      = item.Name;
                newItem.Value     = item.Value;
                newItem.ValueType = item.ValueType;
                list.myItems.Add(newItem);
            }
            return(list);
        }
Exemple #4
0
 /// <summary>
 /// get instance specify  name
 /// </summary>
 /// <param name="name">name</param>
 /// <returns>instance</returns>
 public object this[string name]
 {
     get
     {
         foreach (XVBAScriptGlobalObject item in myItems)
         {
             if (string.Compare(item.Name, name, true) == 0)
             {
                 return(item.Value);
             }
         }
         return(null);
     }
     set
     {
         foreach (XVBAScriptGlobalObject item in myItems)
         {
             if (string.Compare(item.Name, name, true) == 0)
             {
                 item.Value = value;
                 if (value != null)
                 {
                     item.ValueType = value.GetType();
                 }
                 return;
             }
         }
         XVBAScriptGlobalObject newItem = new XVBAScriptGlobalObject();
         newItem.Name  = name;
         newItem.Value = value;
         if (value != null)
         {
             newItem.ValueType = value.GetType();
         }
         myItems.Add(newItem);
     }
 }