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)?

questionAnswers(2)

yourAnswerToTheQuestion