ÓÑÇéÌáʾ£ºÈç¹û±¾ÍøÒ³´ò¿ªÌ«Âý»òÏÔʾ²»ÍêÕû£¬Çë³¢ÊÔÊó±êÓÒ¼ü¡°Ë¢Ð¡±±¾ÍøÒ³£¡ÔĶÁ¹ý³Ì·¢ÏÖÈκδíÎóÇë¸æËßÎÒÃÇ£¬Ð»Ð»£¡£¡ ±¨¸æ´íÎó
¹·¹·Êé¼® ·µ»Ø±¾ÊéĿ¼ ÎÒµÄÊé¼Ü ÎÒµÄÊéÇ© TXTÈ«±¾ÏÂÔØ ½øÈëÊé°É ¼ÓÈëÊéÇ©

VB2008´ÓÈëÃŵ½¾«Í¨(PDF¸ñʽӢÎÄ°æ)-µÚ6ÕÂ

°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡




¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Implementing¡¡the¡¡TextProcessor¡¡Application¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡260¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Piping¡¡Binary¡¡Data¡¡¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡268¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Defining¡¡the¡¡Interfaces¡¡and¡¡Implementing¡¡the¡¡Shell¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡270¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Defining¡¡the¡¡Type¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡272¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Converting¡¡a¡¡Text¡¡Stream¡¡into¡¡a¡¡Binary¡¡Stream¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡274¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Converting¡¡a¡¡Binary¡¡Stream¡¡into¡¡a¡¡Text¡¡Stream¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡275¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Tweaking¡¡Serialization¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡277¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Performing¡¡Custom¡¡Serialization¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡277¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Declaring¡¡a¡¡Data¡¡Member¡¡As¡¡Nonserializable¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡278¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Separating¡¡Data¡¡Objects¡¡from¡¡Action¡¡Objects¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡278¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡14¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

xii¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡öCO¡¡N¡¡T¡¡E¡¡N¡¡T¡¡S¡¡¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pleting¡¡Custom¡¡Types¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡279¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Implementing¡¡GetHashCode£¨£©¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡279¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Implementing¡¡Equals£¨£©¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡282¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡The¡¡Important¡¡Stuff¡¡to¡¡Remember¡¡¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡283¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Some¡¡Things¡¡for¡¡You¡¡to¡¡Do¡¡¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡284¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡öCHAPTER¡¡11¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Learning¡¡About¡¡¡¡Generics¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡285¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Why¡¡Use¡¡¡¡Generics£¿¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡285¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡The¡¡Theory¡¡of¡¡a¡¡Server¡­Side¡¡Spreadsheet¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡288¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Architecting¡¡a¡¡Server¡­Side¡¡Spreadsheet¡¡¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡291¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Designing¡¡the¡¡Architecture¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡292¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Defining¡¡the¡¡Server¡¡Spreadsheet¡¡Interfaces¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡292¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Implementing¡¡the¡¡Server¡¡Spreadsheet¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡302¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Using¡¡Lambda¡¡Expressions¡¡in¡¡the¡¡Spreadsheet¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡302¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Assigning¡¡State¡¡Without¡¡Knowing¡¡the¡¡Type¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡304¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Overriding¡¡the¡¡ToString£¨£©¡¡Functionality¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡307¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Using¡¡the¡¡Spreadsheet¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡308¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Calculating¡¡an¡¡Average¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡308¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Understanding¡¡Why¡¡the¡¡Calculation¡¡Worked¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡310¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡The¡¡Important¡¡Stuff¡¡to¡¡Remember¡¡¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡311¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Some¡¡Things¡¡for¡¡You¡¡to¡¡Do¡¡¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡312¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡öCHAPTER¡¡12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Learning¡¡About¡¡Application¡¡Configuration¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡and¡¡Dynamic¡¡Loading¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡313¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Convention¡¡over¡¡Configuration¡¡¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡313¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Decoupling¡¡Using¡¡a¡¡Configuration¡¡Architecture¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡315¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Decoupling¡¡Using¡¡a¡¡Convention¡¡Architecture¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡315¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Setting¡¡Up¡¡the¡¡Dynamic¡¡Loading¡¡Projects¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡316¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Signing¡¡an¡¡Assembly¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡317¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Setting¡¡the¡¡Output¡¡Path¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡318¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Defining¡¡and¡¡Processing¡¡a¡¡Configuration¡¡File¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡319¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Creating¡¡an¡¡XML¡­Based¡¡Configuration¡¡File¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡319¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Adding¡¡the¡¡Dynamic¡¡Loading¡¡Configuration¡¡Items¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡321¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Reading¡¡a¡¡Configuration¡¡File¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡321¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Dynamically¡¡Loading¡¡an¡¡Assembly¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡322¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Dynamically¡¡Instantiating¡¡a¡¡Type¡¡¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡¡£¡¡322¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Enhancing¡¡the¡¡Configuration¡¡File¡¡¡¡¡£¡¡¡£
·µ»ØĿ¼ ÉÏÒ»Ò³ ÏÂÒ»Ò³ »Øµ½¶¥²¿ ÔÞ£¨0£© ²È£¨0£©
δÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
ÎÂÜ°Ìáʾ£º ο´Ð¡ËµµÄͬʱ·¢±íÆÀÂÛ£¬Ëµ³ö×Ô¼ºµÄ¿´·¨ºÍÆäËüС»ï°éÃÇ·ÖÏíÒ²²»´íŶ£¡·¢±íÊéÆÀ»¹¿ÉÒÔ»ñµÃ»ý·ÖºÍ¾­Ñé½±Àø£¬ÈÏÕæдԭ´´ÊéÆÀ ±»²ÉÄÉΪ¾«ÆÀ¿ÉÒÔ»ñµÃ´óÁ¿½ð±Ò¡¢»ý·ÖºÍ¾­Ñé½±ÀøŶ£¡