Exemplo n.º 1
0
        //private Dictionary<Type, int> Stats_ObjectCountByType = new Dictionary<Type, int>();
        //private Dictionary<Type, int> Stats_ArraySizes = new Dictionary<Type, int>();

        public static void WriteFile <T>(string path, T obj)
        {
            var temp = MaskedFile.GetMaskedPathFromFile(path);

            try
            {
                using (var fileStream = File.Open(temp, FileMode.Create, FileAccess.Write, FileShare.Delete))
                    using (var bw = new BinaryWriter(fileStream, Encoding.UTF8))
                        using (var ser = new BinSerSerializer(bw))
                        {
                            ser.WriteObject <object>(obj);
                        }
                File.Delete(path);
                MaskedFile.PublishMaskedFile(temp, path);
            }
            finally
            {
                MaskedFile.TryDeleteTempFile(temp);
            }
        }