• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# Runtime.DictionaryStorage类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中IronPython.Runtime.DictionaryStorage的典型用法代码示例。如果您正苦于以下问题:C# DictionaryStorage类的具体用法?C# DictionaryStorage怎么用?C# DictionaryStorage使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



DictionaryStorage类属于IronPython.Runtime命名空间,在下文中一共展示了DictionaryStorage类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: Remove

        public override bool Remove(ref DictionaryStorage storage, object key) {
            // check the strKey only if we have some exception info set
            ExceptionState exState = _exceptionState;
            if (exState != null || _setValues != 0) {
                string strKey = key as string;
                if (strKey != null) {
                    switch (strKey) {
                        case "exc_type":
                            lock (this) {
                                _excType = null;
                                _setValues &= ~ExceptionStateFlags.Type;
                                _removedValues |= ExceptionStateFlags.Type;
                            }
                            break;
                        case "exc_value":
                            lock (this) {
                                _excValue = null;
                                _setValues &= ~ExceptionStateFlags.Value;
                                _removedValues |= ExceptionStateFlags.Value;
                            }
                            break;
                        case "exc_traceback":
                            lock (this) {
                                _excTraceback = null;
                                _setValues &= ~ExceptionStateFlags.Traceback;
                                _removedValues |= ExceptionStateFlags.Traceback;
                            }
                            break;
                    }
                }
            }

            return base.Remove(ref storage, key);
        }
开发者ID:CookieEaters,项目名称:FireHTTP,代码行数:34,代码来源:SysModuleDictionaryStorage.cs


示例2: CopyTo

        /// <summary>
        /// Adds items from this dictionary into the other dictionary
        /// </summary>
        public virtual void CopyTo(DictionaryStorage/*!*/ into) {
            Debug.Assert(into != null);

            foreach (KeyValuePair<object, object> kvp in GetItems()) {
                into.Add(kvp.Key, kvp.Value);
            }
        }
开发者ID:jxnmaomao,项目名称:ironruby,代码行数:10,代码来源:DictionaryStorage.cs


示例3: Remove

        public override bool Remove(ref DictionaryStorage storage, object key) {
            if (key is string) {
                return TryRemoveExtraValue((string)key) ?? _storage.Remove(key);

            }
            return _storage.Remove(key);
        }
开发者ID:rudimk,项目名称:dlr-dotnet,代码行数:7,代码来源:CustomDictionaryStorage.cs


示例4: AddNoLock

 public override void AddNoLock(ref DictionaryStorage storage, object key, object value) {            
     // add always needs to check...
     string strKey = key as string;
     if (strKey != null) {
         switch (strKey) {
             case "exc_type":
                 _setValues |= ExceptionStateFlags.Type;
                 _removedValues &= ~ExceptionStateFlags.Type;
                 _excType = value;
                 break;
             case "exc_value":
                 _setValues |= ExceptionStateFlags.Value;
                 _removedValues &= ~ExceptionStateFlags.Value;
                 _excValue = value;
                 break;
             case "exc_traceback":
                 _setValues |= ExceptionStateFlags.Traceback;
                 _removedValues &= ~ExceptionStateFlags.Traceback;
                 _excTraceback = value;
                 break;
         }
     }
     
     base.AddNoLock(ref storage, key, value);
 }
开发者ID:CookieEaters,项目名称:FireHTTP,代码行数:25,代码来源:SysModuleDictionaryStorage.cs


示例5: Remove

        public override bool Remove(ref DictionaryStorage storage, object key) {
            if (_hidden.Contains(key)) {
                return false;
            }

            return _data.Remove(key);
        }
开发者ID:CookieEaters,项目名称:FireHTTP,代码行数:7,代码来源:DebuggerDictionaryStorage.cs


示例6: Remove

 public override bool Remove(ref DictionaryStorage storage, object key) {
     try {
         PythonContext.GetContext(_context).DelIndex(_backing, key);
         return true;
     } catch (KeyNotFoundException) {
         return false;
     }
 }
开发者ID:CookieEaters,项目名称:FireHTTP,代码行数:8,代码来源:ObjectAttributesAdapter.cs


示例7: Add

 public override void Add(ref DictionaryStorage storage, object key, object value) {
     string strKey = key as string;
     if (strKey != null) {
         _data[SymbolTable.StringToId(strKey)] = value;
     } else {
         _data.AddObjectKey(key, value);
     }
 }
开发者ID:rudimk,项目名称:dlr-dotnet,代码行数:8,代码来源:WrapperDictionary.cs


示例8: Remove

 public override bool Remove(ref DictionaryStorage storage, object key) {
     string strKey = key as string;
     if (strKey != null) {
         return _data.Remove(SymbolTable.StringToId(strKey));
     } else {
         return _data.RemoveObjectKey(key);
     }
 }
开发者ID:rudimk,项目名称:dlr-dotnet,代码行数:8,代码来源:WrapperDictionary.cs


示例9: Add

 public override void Add(ref DictionaryStorage storage, object key, object value) {
     string strKey = key as string;
     if (strKey != null) {
         PythonOps.ScopeSetMember(_context.SharedContext, _scope, strKey, value);
     } else {
         PythonScopeExtension ext = (PythonScopeExtension)_context.EnsureScopeExtension(_scope);
         ext.EnsureObjectKeys().Add(key, value);
     }
 }
开发者ID:rudimk,项目名称:dlr-dotnet,代码行数:9,代码来源:ScopeDictionaryStorage.cs


示例10: Add

 public override void Add(ref DictionaryStorage storage, object key, object value) {
     string strkey = key as string;
     if (strkey != null) {
         if (strkey == "__import__") {
             _import = value;
         }
         _change(this, new ModuleChangeEventArgs(strkey, ModuleChangeType.Set, value));
     }
     base.Add(ref storage, key, value);
 }
开发者ID:CookieEaters,项目名称:FireHTTP,代码行数:10,代码来源:BuiltinsDictionaryStorage.cs


示例11: Remove

 public override bool Remove(ref DictionaryStorage storage, object key) {
     string strkey = key as string;
     if (strkey != null) {
         if (strkey == "__import__") {
             _import = null;
         }
         _change(this, new ModuleChangeEventArgs(strkey, ModuleChangeType.Delete));
     }
     return base.Remove(ref storage, key);
 }
开发者ID:CookieEaters,项目名称:FireHTTP,代码行数:10,代码来源:BuiltinsDictionaryStorage.cs


示例12: Add

 public override void Add(ref DictionaryStorage storage, object key, object value) {
     lock (this) {
         string strKey = key as string;
         if (strKey != null) {
             _dict[strKey] = value;
         } else {
             EnsureObjectDictionary();
             _objDict[BaseSymbolDictionary.NullToObj(key)] = value;
         }
     }
 }
开发者ID:rudimk,项目名称:dlr-dotnet,代码行数:11,代码来源:StringDictionaryStorage.cs


示例13: Clear

        public override void Clear(ref DictionaryStorage storage) {
            lock (this) {
                if (storage == this) {
                    storage = EmptyDictionaryStorage.Instance;
                    return;
                }
            }

            // race, try again
            storage.Clear(ref storage);
        }
开发者ID:jschementi,项目名称:iron,代码行数:11,代码来源:ConstantDictionaryStorage.cs


示例14: Add

 public override void Add(ref DictionaryStorage storage, object key, object value) {
     lock (this) {
         if (storage == this) {
             CommonDictionaryStorage newStorage = new CommonDictionaryStorage();
             newStorage.AddNoLock(key, value);
             storage = newStorage;
             return;
         }
     }
     
     // race, try again...
     storage.Add(ref storage, key, value);
 }
开发者ID:CookieEaters,项目名称:FireHTTP,代码行数:13,代码来源:EmptyDictionaryStorage.cs


示例15: Remove

        public override bool Remove(ref DictionaryStorage storage, object key) {
            lock (this) {
                string strKey = key as string;
                if (strKey != null) {
                    return _dict.Remove(strKey);
                }

                if (_objDict != null) {
                    return _objDict.Remove(BaseSymbolDictionary.NullToObj(key));
                }

                return false;
            }
        }
开发者ID:rudimk,项目名称:dlr-dotnet,代码行数:14,代码来源:StringDictionaryStorage.cs


示例16: Remove

        public override bool Remove(ref DictionaryStorage storage, object key) {
            string strKey = key as string;
            if (strKey == null) {
                return base.Remove(ref storage, key);
            }

            bool found = base.Remove(ref storage, key);
            object value;
            if (TryGetLazyValue(strKey, out value)) {
                // hide the deleted value
                base.Add(key, Uninitialized.Instance);
                found = true;
            }

            return found;
        }
开发者ID:CookieEaters,项目名称:FireHTTP,代码行数:16,代码来源:ModuleDictionaryStorage.cs


示例17: Remove

        public override bool Remove(ref DictionaryStorage storage, object key) {
            if (_storage.Contains(key)) {
                lock (this) {
                    if (storage == this) {
                        var newStore = new CommonDictionaryStorage();
                        _storage.CopyTo(newStore);
                        newStore.Remove(key);
                        storage = newStore;
                        return true;
                    }
                }

                // race, try again
                return storage.Remove(ref storage, key);
            }
            
            return false;
        }
开发者ID:jschementi,项目名称:iron,代码行数:18,代码来源:ConstantDictionaryStorage.cs


示例18: Clear

 public override void Clear(ref DictionaryStorage storage) {
     lock (this) {
         _dict.Clear();
         if (_objDict != null) {
             _objDict.Clear();
         }
     }
 }
开发者ID:rudimk,项目名称:dlr-dotnet,代码行数:8,代码来源:StringDictionaryStorage.cs


示例19: Clear

 public override void Clear(ref DictionaryStorage storage) {
     foreach (var item in GetItems()) {
         Remove(item.Key);
     }
 }
开发者ID:rudimk,项目名称:dlr-dotnet,代码行数:5,代码来源:ScopeDictionaryStorage.cs


示例20: Remove

 public override bool Remove(ref DictionaryStorage storage, object key) {
     return Remove(key);
 }
开发者ID:rudimk,项目名称:dlr-dotnet,代码行数:3,代码来源:ScopeDictionaryStorage.cs



注:本文中的IronPython.Runtime.DictionaryStorage类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Runtime.List类代码示例发布时间:2022-05-26
下一篇:
C# Modules.MemoryHolder类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap