internal static bool ClearDynamicBaseDirectory (string directory)
{
string[] entries = null;
try {
entries = Directory.GetDirectories (directory);
} catch {
// ignore
}
bool dirEmpty = true;
if (entries != null && entries.Length > 0) {
foreach (string e in entries) {
if (ClearDynamicBaseDirectory (e)) {
try {
Directory.Delete (e);
} catch {
dirEmpty = false;
}
}
}
}
try {
entries = Directory.GetFiles (directory);
} catch {
entries = null;
}
if (entries != null && entries.Length > 0) {
foreach (string e in entries) {
try {
File.Delete (e);
} catch {
dirEmpty = false;
}
}
}
return dirEmpty;
}