예제 #1
0
        /// <summary>
        /// Saves a file to disk using the binary formatter, without updating the timestamp if it hasn't changed
        /// </summary>
        /// <param name="Location">File to write to</param>
        /// <param name="Object">Object to serialize</param>
        public static void SaveIfDifferent(FileReference Location, object Object)
        {
            byte[] Contents;
            using (MemoryStream Stream = new MemoryStream())
            {
                BinaryFormatter Formatter = new BinaryFormatter();
                Formatter.Serialize(Stream, Object);
                Contents = Stream.ToArray();
            }

            DirectoryReference.CreateDirectory(Location.Directory);
            FileReference.WriteAllBytesIfDifferent(Location, Contents);
        }