예제 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="objectType"></param>
        /// <param name="serializationMethod"></param>
        /// <param name="filename"></param>
        /// <param name="folderName"></param>
        /// <param name="baseFolderPath"></param>
        /// <returns></returns>
        public static object Load(System.Type objectType, ISerializationMethod serializationMethod, string filename, string folderName = null, string baseFolderPath = null)
        {
            var savePath     = GetSavePath(folderName, baseFolderPath);
            var saveFilename = savePath + GetSaveFileName(filename);

            object returnObject = null;

            if (!Directory.Exists(savePath) || !File.Exists(saveFilename))
            {
                return(null);
            }

            using (var saveFile = File.Open(saveFilename, FileMode.Open, FileAccess.Read, FileShare.Read))
            {
                returnObject = serializationMethod.Load(objectType, saveFile);
                saveFile.Close();
            }

            return(returnObject);
        }