Esempio n. 1
0
        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>();
            }
        }
Esempio n. 2
0
 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);
     }
 }