°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CH¡¡A¡¡PT¡¡E¡¡R¡¡¡¡¡¡1¡¡0¡¡¡¡¡¡¡ö¡¡¡¡¡¡¡¡L¡¡E¡¡A¡¡R¡¡N¡¡I¡¡N¡¡G¡¡¡¡¡¡A¡¡B¡¡O¡¡U¡¡T¡¡¡¡P¡¡E¡¡R¡¡S¡¡IS¡¡T¡¡E¡¡N¡¡CE¡¡271¡¡
¡¡¡¡¡¡¡¡¡¡The¡¡IBinary2TextProcessor¡¡interface¡¡has¡¡a¡¡single¡¡method£»¡¡Process£¨£©£»¡¡which¡¡has¡¡two¡¡param
eters£º¡¡the¡¡binary¡¡stream¡¡and¡¡the¡¡text¡¡stream¡£¡¡The¡¡implementation¡¡of¡¡IBinary2TextProcessor¡¡¡¡
would¡¡be¡¡responsible¡¡for¡¡reading¡¡the¡¡data¡¡from¡¡the¡¡binary¡¡stream¡¡and¡¡saving¡¡data¡¡to¡¡the¡¡¡¡
text¡¡stream¡£¡¡
¡¡¡¡¡¡¡¡¡¡The¡¡text¡to¡binary¡¡interface£»¡¡IText2BinaryProcessor£»¡¡follows¡¡a¡¡similar¡¡interface¡¡design£»¡¡¡¡
except¡¡that¡¡the¡¡input¡¡and¡¡output¡¡stream¡¡types¡¡are¡¡reversed¡£¡¡¡¡
Imports¡¡System¡£IO¡¡
Public¡¡Interface¡¡IText2BinaryProcessor¡¡
¡¡¡¡¡¡¡¡Sub¡¡Process£¨ByVal¡¡input¡¡As¡¡TextReader£»¡¡ByVal¡¡output¡¡As¡¡Stream£©¡¡
End¡¡Interface¡¡
¡¡¡¡¡¡¡¡¡¡The¡¡idea¡¡of¡¡both¡¡interface¡¡declarations¡¡is¡¡to¡¡focus¡¡on¡¡transferring¡¡data¡¡from¡¡one¡¡stream¡¡¡¡
to¡¡another¡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡The¡¡shell¡¡for¡¡both¡¡data¡¡stream¡¡interfaces¡¡is¡¡very¡¡similar¡¡to¡¡the¡¡shell¡¡of¡¡the¡¡text¡processing¡¡¡¡
stream£»¡¡except¡¡that¡¡binary¡¡and¡¡text¡¡streams¡¡are¡¡involved¡£¡¡The¡¡TextProcessor¡¡shell¡¡was¡¡respon
sible¡¡for¡¡knowing¡¡if¡¡the¡¡data¡¡stream¡¡was¡¡from¡¡the¡¡console¡¡or¡¡from¡¡a¡¡file¡£¡¡When¡¡manipulating¡¡¡¡
binary¡¡streams£»¡¡the¡¡source¡¡still¡¡needs¡¡to¡¡be¡¡ascertained£»¡¡but¡¡instead¡¡of¡¡creating¡¡text¡¡streams£»¡¡¡¡
binary¡¡streams¡¡are¡¡created¡£¡¡If¡¡you¡¡understand¡¡the¡¡mechanics¡¡of¡¡using¡¡a¡¡text¡¡stream£»¡¡you¡¡will¡¡¡¡
understand¡¡the¡¡mechanics¡¡of¡¡using¡¡a¡¡binary¡¡stream¡£¡¡
¡¡¡¡¡¡¡¡¡¡The¡¡following¡¡is¡¡the¡¡plete¡¡implementation¡¡of¡¡the¡¡text¡to¡binary¡¡bootstrap¡¡class¡£¡¡
Imports¡¡System¡£IO¡¡
Public¡¡Module¡¡Text2BinaryBootstrap¡¡
¡¡¡¡¡¡¡¡Public¡¡Sub¡¡DisplayHelp£¨£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Console¡£WriteLine£¨¡¨You¡¡need¡¡help£¿¡¡Right¡¡now£¿¡¨£©¡¡
¡¡¡¡¡¡¡¡End¡¡Sub¡¡
¡¡¡¡¡¡¡¡Public¡¡Sub¡¡Start£¨ByVal¡¡args¡¡As¡¡String£¨£©£»¡¡_¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ByVal¡¡processor¡¡As¡¡IText2BinaryProcessor£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#If¡¡DEBUG_OUTPUT¡¡Then¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Console¡£WriteLine£¨¡¨Argument¡¡count£¨¡¨¡¡&¡¡args¡£Length¡¡&¡¡¡¨£©¡¨£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡For¡¡Each¡¡argument¡¡As¡¡String¡¡In¡¡args¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Console¡£WriteLine£¨¡¨Argument¡¡£¨¡¨¡¡&¡¡argument¡¡&¡¡¡¨£©¡¨£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Next¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#End¡¡If¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Dim¡¡reader¡¡As¡¡TextReader¡¡=¡¡Nothing¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Dim¡¡writer¡¡As¡¡Stream¡¡=¡¡Nothing¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡If¡¡args¡£Length¡¡=¡¡0¡¡Then¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡reader¡¡=¡¡Console¡£In¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡writer¡¡=¡¡Console¡£OpenStandardOutput£¨£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ElseIf¡¡args¡£Length¡¡=¡¡1¡¡Then¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡If¡¡args£¨0£©¡¡=¡¡¡¨¡help¡¨¡¡Then¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Text2BinaryBootstrap¡£DisplayHelp£¨£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Return¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡End¡¡If¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡294¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
272¡¡¡¡¡¡¡¡¡¡¡¡¡¡CH¡¡AP¡¡T¡¡E¡¡R¡¡¡¡¡¡1¡¡0¡¡¡¡¡¡¡ö¡¡¡¡¡¡¡¡L¡¡E¡¡A¡¡R¡¡N¡¡I¡¡N¡¡G¡¡¡¡¡¡A¡¡B¡¡OU¡¡T¡¡¡¡¡¡P¡¡E¡¡R¡¡S¡¡IS¡¡TE¡¡N¡¡CE¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡reader¡¡=¡¡File¡£OpenText£¨args£¨0£©£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡writer¡¡=¡¡Console¡£OpenStandardOutput£¨£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ElseIf¡¡args¡£Length¡¡=¡¡2¡¡Then¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡If¡¡args£¨0£©¡¡¡¡¡¨¡out¡¨¡¡Then¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Text2BinaryBootstrap¡£DisplayHelp£¨£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Return¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡End¡¡If¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡reader¡¡=¡¡Console¡£In¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡writer¡¡=¡¡File¡£Open£¨args£¨1£©£»¡¡FileMode¡£Create£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ElseIf¡¡args¡£Length¡¡=¡¡3¡¡Then¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡If¡¡args£¨0£©¡¡¡¡¡¨¡out¡¨¡¡Then¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Text2BinaryBootstrap¡£DisplayHelp£¨£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Return¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡End¡¡If¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡reader¡¡=¡¡File¡£OpenText£¨args£¨2£©£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡writer¡¡=¡¡File¡£Open£¨args£¨1£©£»¡¡FileMode¡£Create£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Else¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Text2BinaryBootstrap¡£DisplayHelp£¨£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Return¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡End¡¡If¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡processor¡£Process£¨reader£»¡¡writer£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡writer¡£Close£¨£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡End¡¡Sub¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡End¡¡Module¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡The¡¡implementation¡¡is¡¡nearly¡¡identical¡¡to¡¡the¡¡Bootstrap¡¡class£»¡¡the¡¡differences¡¡are¡¡bolded¡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Notice¡¡that¡¡instead¡¡of¡¡using¡¡the¡¡predefined¡¡Console¡£Out¡¡data¡¡member£»¡¡the¡¡OpenStandardOutput£¨£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡method¡¡is¡¡called£»¡¡and¡¡instead¡¡of¡¡¡¡File¡£CreateText£¨£©£»¡¡the¡¡File¡£Open£¨£©¡¡method¡¡is¡¡called¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡The¡¡implementation¡¡of¡¡the¡¡binary¡to¡text¡¡stream¡¡shell¡¡is¡¡nearly¡¡identical¡¡to¡¡the¡¡one¡¡for¡¡the¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡text¡to¡binary¡¡stream¡¡shell¡£¡¡You¡¡can¡¡find¡¡it¡¡in¡¡this¡¡book¡¯s¡¡downloadable¡¡source¡¡code¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Defining¡¡the¡¡Type¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡The¡¡central¡¡piece¡¡when¡¡converting¡¡from¡¡a¡¡text¡¡stream¡¡to¡¡a¡¡binary¡¡stream¡¡or¡¡vice¡¡versa¡¡is¡¡the¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡definition¡¡of¡¡a¡¡type¡£¡¡The¡¡type¡¡might¡¡be¡¡a¡¡class¡¡or¡¡a¡¡struct£»¡¡and¡¡it¡¡is¡¡identified¡¡as¡¡being¡¡a¡¡type¡¡that¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡can¡¡be¡¡read¡¡and¡¡written¡£¡¡Identifying¡¡a¡¡type¡¡to¡¡be¡¡read¡¡and¡¡written¡¡is¡¡necessary¡¡so¡¡that¡¡when¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡reads¡¡or¡¡writes¡¡the¡¡type£»¡¡the¡¡underlying¡¡infrastructure¡¡knows¡¡what¡¡to¡¡do¡£¡¡Remember¡¡that¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡a¡¡binary¡¡data¡¡stream¡¡is¡¡a¡¡data¡¡stream¡¡where¡¡only¡¡the¡¡program¡¡knows¡¡what¡¡it¡¡means¡£¡¡To¡¡help¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡read¡¡and¡¡write¡¡those¡¡types£»¡¡you¡¡add¡¡identifiers¡¡that¡¡tell¡¡¡¡what¡¡to¡¡do¡£¡¡Fortunately£»¡¡you¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡don¡¯t¡¡need¡¡to¡¡know¡¡the¡¡inner¡¡details¡¡of¡¡binary¡¡serialization£»¡¡but¡¡just¡¡give¡¡¡¡an¡¡indication¡¡of¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡how¡¡to¡¡manage¡¡it¡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡For¡¡the¡¡lottery¡prediction¡¡example£»¡¡we¡¡will¡¡define¡¡a¡¡type¡¡that¡¡represents¡¡a¡¡lottery¡¡ticket¡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡The¡¡lottery¡¡ticket¡¡will¡¡contain¡¡the¡¡draw¡¡date£»¡¡numbers£»¡¡and¡¡bonus¡¡number¡£¡¡Following¡¡is¡¡the¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡plete¡¡declaration¡¡£¨in¡¡the¡¡¡¡LottoLibrary¡¡project£©¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡295¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CH¡¡A¡¡PT¡¡E¡¡R¡¡¡¡¡¡1¡¡0¡¡¡¡¡¡¡ö¡¡¡¡¡¡¡¡L¡¡E¡¡A¡¡R¡¡N¡¡I¡¡N¡¡G¡¡¡¡¡¡A¡¡B¡¡O¡¡U¡¡T¡¡¡¡P¡¡E¡¡R¡¡S¡¡IS¡¡T¡¡E¡¡N¡¡CE¡¡273¡¡
¡¡_¡¡
Public¡¡Class¡¡Ticket¡¡
¡¡¡¡¡¡¡¡Public¡¡Sub¡¡New£¨£©¡¡
¡¡¡¡¡¡¡¡End¡¡Sub¡¡
¡¡¡¡¡¡¡¡Public¡¡Sub¡¡New£¨ByVal¡¡drawDate¡¡As¡¡DateTime£»¡¡ByVal¡¡numbers¡¡As¡¡Integer£¨£©£»¡¡_¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ByVal¡¡bonus¡¡As¡¡Integer£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_drawDate¡¡=¡¡drawDate¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_numbers¡¡=¡¡numbers¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_bonus¡¡=¡¡bonus¡¡
¡¡¡¡¡¡¡¡End¡¡Sub¡¡
¡¡¡¡¡¡¡¡Public¡¡Property¡¡Bonus£¨£©¡¡As¡¡Integer¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Get¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Return¡¡_bonus¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡End¡¡Get¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Set£¨ByVal¡¡value¡¡As¡¡Integer£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_bonus¡¡=¡¡value¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡End¡¡Set¡¡
¡¡¡¡¡¡¡¡End¡¡Property¡¡
¡¡¡¡¡¡¡¡Public¡¡Property¡¡DrawDate£¨£©¡¡As¡¡DateTime¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Get¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Return¡¡_drawDate¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡End¡¡Get¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Set£¨ByVal¡¡value¡¡As¡¡DateTime£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_drawDate¡¡=¡¡value¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡End¡¡Set¡¡
¡¡¡¡¡¡¡¡End¡¡Property¡¡
¡¡¡¡¡¡¡¡Public¡¡Property¡¡Numbers£¨£©¡¡As¡¡Integer£¨£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Get¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Return¡¡_numbers¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡End¡¡Get¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Set£¨ByVal¡¡value¡¡As¡¡Integer£¨£©£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_numbers¡¡=¡¡value¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡End¡¡Set¡¡
¡¡¡¡¡¡¡¡End¡¡Property¡¡
¡¡¡¡¡¡¡¡Private¡¡_bonus¡¡As¡¡Integer¡¡
¡¡¡¡¡¡¡¡Private¡¡_drawDate¡¡As¡¡DateTime¡¡
¡¡¡¡¡¡¡¡Private¡¡_numbers¡¡As¡¡Integer£¨£©¡¡
End¡¡Class¡¡
¡¡¡¡¡¡¡¡¡¡Ticket¡¡is¡¡plain¡vanilla¡¡data¡¡class¡£¡¡However£»¡¡the¡¡bolded¡¡parts¡¡deserve¡¡an¡¡explanation¡£¡¡The¡¡¡¡
first¡¡bolded¡¡part¡¡is¡¡a¡¡set¡¡of¡¡angled¡¡brackets¡¡surrounding¡¡the¡¡identifier¡¡Serializable£»¡¡which¡¡¡¡
represents¡¡a¡¡¡¡attribute¡£¡¡In¡¡£»¡¡you¡¡have¡¡the¡¡ability¡¡to¡¡describe¡¡types£»¡¡methods£»¡¡and¡¡so¡¡on¡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡296¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
274¡¡¡¡¡¡¡¡¡¡¡¡¡¡CH¡¡AP¡¡T¡¡E¡¡R¡¡¡¡¡¡1¡¡0¡¡¡¡¡¡¡ö¡¡¡¡¡¡¡¡L¡¡E¡¡A¡¡R¡¡N¡¡I¡¡N¡¡G¡¡¡¡¡¡A¡¡B¡¡OU¡¡T¡¡¡¡¡¡P¡¡E¡¡R¡¡S¡¡IS¡¡TE¡¡N¡¡CE¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Attributes¡¡are¡¡descriptions¡¡that¡¡are¡¡used¡¡in¡¡a¡¡particular¡¡context¡£¡¡As¡¡opposed¡¡to¡¡the¡¡identifiers¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Public¡¡and¡¡MustInherit£»¡¡which¡¡are¡¡descriptions¡¡that¡¡fundamentally¡¡describe¡¡how¡¡a¡¡type¡¡will¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡behave£»¡¡the¡¡Serializable¡¡attribute¡¡describes¡¡the¡¡behavior¡¡of¡¡a¡¡type¡¡in¡¡a¡¡specific¡¡context¡ªwhen¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡the¡¡object¡¡is¡¡to¡¡be¡¡converted¡¡from¡¡memory¡¡to¡¡a¡¡data¡¡stream¡¡and¡¡vice¡¡versa¡£¡¡Fundamental¡¡descrip
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡tions¡¡are¡¡important¡¡to¡¡the¡¡¡¡runtime£»¡¡whereas¡¡¡¡attributes¡¡are¡¡generally¡¡not¡¡important¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡to¡¡the¡¡runtime£»¡¡but¡¡important¡¡to¡¡libraries¡¡that¡¡the¡¡runtime¡¡will¡¡execute¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡öNote¡¡¡¡Serialization¡¡is¡¡the¡¡process¡¡of¡¡turning¡¡an¡¡object¡¡into¡¡a¡¡format¡¡that¡¡can¡¡be¡¡saved¡¡or¡¡sent¡¡over¡¡the¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡network¡£¡¡Deserialization¡¡is¡¡the¡¡process¡¡of¡¡retrieving¡¡the¡¡serialized¡¡object¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡The¡¡Serializable¡¡attribute¡¡describes¡¡the¡¡ability¡¡to¡¡serialize¡¡the¡¡type¡¡as¡¡it¡¡is¡¡declared¡£¡¡When¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ticket¡¡is¡¡converted¡¡into¡¡a¡¡binary¡¡stream£»¡¡the¡¡programmer¡¡does¡¡not¡¡nee