static ChineseChar() { var executingAssembly = Assembly.GetExecutingAssembly(); using (var manifestResourceStream = executingAssembly.GetManifestResourceStream("Dragon.Framework.Infrastructure.Pinyin.Resources.PinyinDictionary.resources")) { using (var resourceReader = new ResourceReader(manifestResourceStream ?? Stream.Null)) { resourceReader.GetResourceData("PinyinDictionary", out _, out var buffer); using (var binaryReader = new BinaryReader(new MemoryStream(buffer))) { PinyinDictionary = PinyinDictionary.Deserialize(binaryReader); } } } using (var manifestResourceStream2 = executingAssembly.GetManifestResourceStream("Dragon.Framework.Infrastructure.Pinyin.Resources.CharDictionary.resources")) { using (var resourceReader2 = new ResourceReader(manifestResourceStream2 ?? Stream.Null)) { resourceReader2.GetResourceData("CharDictionary", out _, out var buffer); using (var binaryReader2 = new BinaryReader(new MemoryStream(buffer))) { CharDictionary = CharDictionary.Deserialize(binaryReader2); } } } using (var manifestResourceStream3 = executingAssembly.GetManifestResourceStream("Dragon.Framework.Infrastructure.Pinyin.Resources.HomophoneDictionary.resources")) { using (var resourceReader3 = new ResourceReader(manifestResourceStream3 ?? Stream.Null)) { resourceReader3.GetResourceData("HomophoneDictionary", out _, out var buffer); using (var binaryReader3 = new BinaryReader(new MemoryStream(buffer))) { HomophoneDictionary = HomophoneDictionary.Deserialize(binaryReader3); } } } using (var manifestResourceStream4 = executingAssembly.GetManifestResourceStream("Dragon.Framework.Infrastructure.Pinyin.Resources.StrokeDictionary.resources")) { using (var resourceReader4 = new ResourceReader(manifestResourceStream4 ?? Stream.Null)) { resourceReader4.GetResourceData("StrokeDictionary", out _, out var buffer); using (var binaryReader4 = new BinaryReader(new MemoryStream(buffer))) { StrokeDictionary = StrokeDictionary.Deserialize(binaryReader4); } } } }
internal static HomophoneDictionary Deserialize(BinaryReader binaryReader) { var homophoneDictionary = new HomophoneDictionary(); binaryReader.ReadInt32(); homophoneDictionary.Length = binaryReader.ReadInt32(); homophoneDictionary.Count = binaryReader.ReadInt16(); homophoneDictionary.Offset = binaryReader.ReadInt16(); binaryReader.ReadBytes(8); homophoneDictionary.HomophoneUnitTable = new List <HomophoneUnit>(); for (var i = 0; i < homophoneDictionary.Count; i++) { homophoneDictionary.HomophoneUnitTable.Add(HomophoneUnit.Deserialize(binaryReader)); } binaryReader.ReadInt16(); return(homophoneDictionary); }