+#if NET_2_0
+ public static string [] GetDirectories (string path, string pattern, SearchOption option)
+ {
+ if (option == SearchOption.TopDirectoryOnly)
+ return GetDirectories (path, pattern);
+ ArrayList all = new ArrayList ();
+ GetDirectoriesRecurse (path, pattern, all);
+ return (string []) all.ToArray (typeof (string));
+ }
+
+ static void GetDirectoriesRecurse (string path, string pattern, ArrayList all)
+ {
+ all.AddRange (GetDirectories (path, pattern));
+ foreach (string dir in GetDirectories (path))
+ GetDirectoriesRecurse (dir, pattern, all);
+ }
+#endif
+