Example #1
0
        static void Deserialize(string filePath)
        {
            FileStream   fs  = null;
            BinaryReader br  = null;
            var          msg = string.Empty;

            try
            {
                fs = new FileStream(filePath, FileMode.Open);
                br = new BinaryReader(fs);

                var analyze = new BinaryAnalyze(filePath, br, OnAnalyzeFinished);
                analyze.StartAnalyze();
                msg = "反序列化完成.";
            }
            catch (Exception ex)
            {
                msg = ex.ToString();
            }
            finally
            {
                Console.WriteLine(msg);
                fs?.Close();
                br?.Close();
            }
        }
Example #2
0
        static void OnAnalyzeFinished(BinaryAnalyze analyze)
        {
            Console.WriteLine("Analyze Finished");

            foreach (var item in analyze.RecordObjects)
            {
                Console.WriteLine(item);
            }

            var fileInfo   = new FileInfo(analyze.FilePath);
            var csFilePath = Path.Combine(fileInfo.DirectoryName, fileInfo.Name.Replace(fileInfo.Extension, string.Empty) + ".cs");

            CSGenerator.Generate(analyze.RecordObjects, csFilePath);
        }