public static BaseInfo CreateInstance(BinaryReader br) { BaseInfo baseInfo = null; InfoType infoType = (InfoType)DecodeInteger(br); switch (infoType) { case InfoType.Header: baseInfo = new HeaderInfo(); break; case InfoType.UpdateCheck: baseInfo = new UpdateCheckInfo(); break; case InfoType.UpdateFile: baseInfo = new UpdateFileInfo(); break; } if (baseInfo != null) { baseInfo.FromBytes(br); } return(baseInfo); }
override public void FromBytes(BinaryReader br) { base.FromBytes(br); nUserID = DecodeInteger(br); int fileCount = DecodeInteger(br); for (int i = 0; i < fileCount; i++) { UpdateFileInfo fileInfo = (UpdateFileInfo)BaseInfo.CreateInstance(br); FileList.Add(fileInfo); } }