Desde MSDN documentation para la propiedad FileInfo.Name
, veo que los datos de la propiedad se almacenan en caché la primera vez que se llama y solo se actualizarán posteriormente mediante el método Refresh
.Caché de propiedades de FileInfo en C#
He las siguientes preguntas que no puedo encontrar o no está demasiado claro en la documentación:
son los datos para todas las propiedades en caché al mismo tiempo?
¿Se requiere el método
Refresh
para la creación delFileInfo
, o solo cuando se llama a una propiedad por primera vez?Si he llamado a una propiedad, p. la propiedad
Name
, y se llamaRefresh
, llamará a una propiedad diferente, p. la propiedadDirectoryName
, por primera vez, hace que vuelva a llamar alRefresh
, o solo la llama la primera propiedad a la que se accede en toda la clase (consulte la pregunta # 1)?¿Puedo precachear todas las propiedades llamando al
Refresh
manualmente? (Suponiendo que no está preguardado en la caché en la construcción del objeto)¿Las propiedades de llamada
Refresh
causan manualmente que son pre-cached, p.CreationTime
, para actualizarse también?
Yo sugeriría que descargue ILSpy http://wiki.sharpdevelop.net/ILSpy.ashx y examinar la implementación de FileInfo. Es la mejor manera de obtener respuestas a preguntas tan detalladas sobre los aspectos internos de los tipos de BCL. – bentayloruk
Estoy de acuerdo. También vale la pena señalar que ahora (bueno, como en el día de hoy) puede navegar por la fuente de referencia en línea. Aquí está la [definición de FileInfo] (http://referencesource.microsoft.com/#mscorlib/system/io/fileinfo.cs,4ee673c1a4ecad41) en todo su esplendor. –