2010-03-03 14 views

Respuesta

23

Ninguno.

File.Open es, a nivel interno, nada más que:

public static FileStream Open(string path, FileMode mode, FileAccess access, FileShare share) 
{ 
    return new FileStream(path, mode, access, share); 
} 

Si no utiliza la sobrecarga que especifica un FileAccess y FileShare, especifica esto para usted (usando FileShare.NONE y FileAccess .Escribir en agregar o ReadWrite de lo contrario).

Dicho esto, este es un detalle de implementación, que no forma parte de la documentation. Técnicamente, un futuro .NET Framework versión podría utilizar una implementación diferente, aunque me parece poco probable.

5

File.Open() es un método de conveniencia. Internamente se implementa como:

public static FileStream Open(string path, FileMode mode, FileAccess access, FileShare share) 
{ 
    return new FileStream(path, mode, access, share); 
} 
+0

... junto a sus hermanos y File.OpenRead File.OpenText – Powerlord

16

Este tipo de duplicación es muy raro en .NET framework. Pero hay una historia sobre esta, contada por Krzysztof Cwalina en this lecture. Hicieron un estudio de usabilidad en una versión anterior del framework, pidiendo a un grupo de programadores con experiencia (pero por lo demás con .NET agnóstico) que escribieran código usando las clases FileStream y StreadReader/Writer.

No salió bien, que tiene un 100% de tasa de fracaso. Respondieron agregando métodos a la clase System.IO.File, utilizando el enfoque de "más probabilidades de caer en el pozo del éxito".

Cool video por cierto, si usted está en todo en las razones del marco ve la forma en que se ve.

Mejor publicar una respuesta real: el método File.Open() llama al constructor FileStream, pasando valores para FileAccess y FileShare (si no los especifica) que son más propensos a hacer lo correcto. Que es FileAccess.ReadWrite y FileShare.None.

+0

puede actualizar enlace de conferencia? – brumScouse

+0

Actualizado. Ten en cuenta que es un archivo .zip de 500MB. –

+2

El enlace está roto de nuevo – HeyJude

Cuestiones relacionadas