Mimic File.Move, jeśli miejsce docelowe już istnieje

Z dokumentacjiFile.Move:

Zauważ, że jeśli spróbujesz zastąpić plik, przenosząc plik o tej samej nazwie do tego katalogu, otrzymasz wyjątek IOException. Nie można użyć metody Move do zastąpienia istniejącego pliku.

Krótko mówiąc, nie można nadpisywaćMove, aby ułatwić nadpisywanie w Move, naśladuję zachowanie, wykonującFile.Copy po którym następuje aFile.Delete. Coś jak:

<code>if (File.Exists(dstFileName))
{
    // System.IO.File.Move cannot be used to overwrite existing files, so we're going
    // to simulate that behavior with a Copy & Delete.
    File.Copy(procContext.FileName, dstFileName);
    File.Delete(procContext.FileName);
}
else
    File.Move(procContext.FileName, dstFileName);
</code>

Moje pytanie brzmi: czy są jakieś sytuacje, przed którymi muszę się zabezpieczyć, a które mogłyby doprowadzić do usunięcia pliku źródłowego bez jego pomyślnego skopiowania?

Moje zrozumienie po przeczytaniu dokumentacji jest następująceFile.Copy nie zwraca niczego, co powinno wywołać wyjątek w każdym przypadku, że się nie uda. Czy ktoś napotkał sytuacje, w których nie jest to prawdą?

questionAnswers(5)

yourAnswerToTheQuestion