public string[] GetSymbols(Type filter) { ArrayList s = new ArrayList(); foreach (DictionaryEntry de in hashtable) { if (de.Value.GetType() == filter) { s.Add(((Symbol)de.Key).Name); } } if (previousEnvironment != null) { s.AddRange(previousEnvironment.GetSymbols(filter)); } return(s.ToArray(typeof(string)) as string[]); }