public virtual IEnumerable <string> GetKeys() { JsDictionaryObject p = this.Prototype; if (p != JsUndefined.Instance && p != JsNull.Instance && p != null) { foreach (string key1 in p.GetKeys()) { string key = key1; if (!this.HasOwnProperty(key)) { yield return(key); } key = (string)null; } } foreach (KeyValuePair <string, Descriptor> property in (IEnumerable <KeyValuePair <string, Descriptor> >) this.properties) { KeyValuePair <string, Descriptor> descriptor = property; if (descriptor.Value.Enumerable && descriptor.Value.Owner == this) { yield return(descriptor.Key); } descriptor = new KeyValuePair <string, Descriptor>(); } }
public override IEnumerable <string> GetKeys() { if (bag != null) { foreach (var key in bag.GetKeys()) { if (baseGetDescriptor(key) == null) { yield return(key); } } } foreach (var key in baseGetKeys()) { yield return(key); } }