Wie überprüfe ich, ob eine Datei verwendet wird?

Gibt es eine Möglichkeit, zunächst zu testen, ob eine Datei verwendet wird, bevor versucht wird, sie zum Lesen zu öffnen? Dieser Codeblock löst beispielsweise eine Ausnahme aus, wenn die Datei noch geschrieben wird oder als verwendet betrachtet wird:

try
{
    FileStream stream = new FileStream(fullPath, FileMode.Open, FileAccess.Read, FileShare.Read);
}
catch (IOException ex)
{
    // ex.Message == "The process cannot access the file 'XYZ' because it is being used by another process."
}

Ich habe mich überall umgesehen und das Beste, was ich finden kann, ist, eine Art Umfrage mit einem Versuch im Inneren durchzuführen, und das fühlt sich anso hacky. Ich würde erwarten, dass es etwas gibtSystem.IO.FileInfo aber das gibt es nicht.

Irgendwelche Ideen auf einem besseren Weg?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage