本文整理汇总了C#中Hash.Mutate方法的典型用法代码示例。如果您正苦于以下问题:C# Hash.Mutate方法的具体用法?C# Hash.Mutate怎么用?C# Hash.Mutate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Hash
的用法示例。
在下文中一共展示了Hash.Mutate方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Shift
public static object Shift(CallSiteStorage<Func<CallSite, Hash, object, object>>/*!*/ storage, Hash/*!*/ self) {
self.Mutate();
if (self.Count == 0) {
var site = storage.GetCallSite("default", 1);
return site.Target(site, self, null);
}
IEnumerator<KeyValuePair<object, object>> e = self.GetEnumerator();
e.MoveNext();
KeyValuePair<object, object> pair = e.Current;
self.Remove(pair.Key);
return IDictionaryOps.MakeArray(pair);
}
示例2: SetDefaultValue
public static object SetDefaultValue(RubyContext/*!*/ context, Hash/*!*/ self, object value) {
self.Mutate();
self.DefaultProc = null;
return self.DefaultValue = value;
}
示例3: Replace
public static Hash/*!*/ Replace(RubyContext/*!*/ context, Hash/*!*/ self, [DefaultProtocol, NotNull]IDictionary<object,object>/*!*/ other) {
if (Object.ReferenceEquals(self, other)) {
return self;
}
self.Mutate();
Hash otherHash = other as Hash;
if (otherHash != null) {
self.DefaultValue = otherHash.DefaultValue;
self.DefaultProc = otherHash.DefaultProc;
}
return IDictionaryOps.ReplaceData(self, other);
}
示例4: InitializeCopy
public static Hash/*!*/ InitializeCopy(RubyContext/*!*/ context, Hash/*!*/ self, [NotNull]Hash/*!*/ source) {
self.Mutate();
self.DefaultProc = source.DefaultProc;
self.DefaultValue = source.DefaultValue;
IDictionaryOps.ReplaceData(self, source);
return self;
}