本文整理汇总了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;未经允许,请勿转载。 |
请发表评论