Sprawdź, czy katalog jest dostępny w C #? [duplikować]
Możliwy duplikat:
.NET - Sprawdź, czy katalog jest dostępny bez obsługi wyjątków
Im zrobić mały eksplorator plików w Visual Studio 2010 z NET 3.5 i C #, i mam tę funkcję, aby sprawdzić, czy katalog jest dostępny:
RealPath=@"c:\System Volume Information";
public bool IsAccessible()
{
//get directory info
DirectoryInfo realpath = new DirectoryInfo(RealPath);
try
{
//if GetDirectories works then is accessible
realpath.GetDirectories();
return true;
}
catch (Exception)
{
//if exception is not accesible
return false;
}
}
Ale myślę, że przy dużych katalogach może być wolno próbować uzyskać wszystkie podkatalogi, aby sprawdzić, czy katalog jest dostępny. Używam tej funkcji, aby zapobiec błędom podczas próby przeglądania chronionych folderów lub napędów CD / DVD bez dysku (błąd „Urządzenie nie jest gotowe”).
Czy istnieje lepszy sposób (szybszy) na sprawdzenie, czy aplikacja jest dostępna dla aplikacji (najlepiej w NET 3.5)?