IronRuby.Builtins.HashOps.CreateSubclass C# (CSharp) Method

CreateSubclass() private method

private CreateSubclass ( ConversionStorage toAry, RubyClass self, [ list ) : Hash
toAry ConversionStorage
self RubyClass
list [
return Hash
        public static Hash/*!*/ CreateSubclass(ConversionStorage<IList>/*!*/ toAry, RubyClass/*!*/ self, [NotNull]IList/*!*/ list) {
            Hash result = Hash.CreateInstance(self);
            var toArySite = toAry.GetSite(TryConvertToArrayAction.Make(toAry.Context));
            foreach (object item in list) {
                IList pair = toArySite.Target(toArySite, item);
                if (pair != null && pair.Count >= 1 && pair.Count <= 2) {
                    RubyUtils.SetHashElement(self.Context, result, pair[0], (pair.Count == 2) ? pair[1] : null);
                }
            }
            return result;
        }

Same methods

HashOps::CreateSubclass ( object>.ConversionStorage toHash, ConversionStorage toAry, RubyClass self, object listOrHash ) : Hash
HashOps::CreateSubclass ( RubyClass self ) : Hash
HashOps::CreateSubclass ( RubyClass self, object>.[ hash ) : Hash