Microsoft.JScript.ForIn.JScriptGetEnumerator C# (CSharp) Method

JScriptGetEnumerator() public static method

public static JScriptGetEnumerator ( Object coll ) : IEnumerator
coll Object
return IEnumerator
      public static IEnumerator JScriptGetEnumerator(Object coll){
        if (coll is IEnumerator)
          return (IEnumerator)coll;
        if (coll is ScriptObject)
          return new ScriptObjectPropertyEnumerator((ScriptObject)coll);
        if (coll is Array){
          Array arr = (Array)coll;
          return new RangeEnumerator(arr.GetLowerBound(0), arr.GetUpperBound(0));
        }
        if (coll is IEnumerable){
          IEnumerator result =  ((IEnumerable)coll).GetEnumerator();
          if (result != null) return result;
          return new ScriptObjectPropertyEnumerator(new JSObject());
        }
        throw new JScriptException(JSError.NotCollection);
      }
    

Usage Example

コード例 #1
0
ファイル: jsobject.cs プロジェクト: ydunk/masters
 IEnumerator IEnumerable.GetEnumerator()
 {
     return(ForIn.JScriptGetEnumerator(this));
 }