°Ë±¦Êé¿â > ÎÄѧÆäËûµç×ÓÊé > VB2008´ÓÈëÃŵ½¾«Í¨(PDF¸ñʽӢÎÄ°æ) >

µÚ9²¿·Ö

VB2008´ÓÈëÃŵ½¾«Í¨(PDF¸ñʽӢÎÄ°æ)-µÚ9²¿·Ö

С˵£º VB2008´ÓÈëÃŵ½¾«Í¨(PDF¸ñʽӢÎÄ°æ) ×ÖÊý£º ÿҳ4000×Ö

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






¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡The¡¡Solution¡¡Explorer¡¡changes¡¡to¡¡show¡¡the¡¡additional¡¡project¡¡and¡¡now¡¡also¡¡shows¡¡the¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡solution¡£¡¡The¡¡work¡¡area¡¡displays¡¡the¡¡source¡¡code¡£¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Notice¡¡the¡¡simplicity¡¡of¡¡the¡¡console¡¡application¡£¡¡It¡¡contains¡¡a¡¡single£»¡¡plain¡­vanilla¡¡source¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡code¡¡file£»¡¡called¡¡Module1¡£vb¡£¡¡Console¡¡applications¡¡typically¡¡do¡¡not¡¡have¡¡any¡¡specialized¡¡group

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ings¡¡and¡¡do¡¡not¡¡have¡¡any¡¡events¡£¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡35¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡C¡¡H¡¡AP¡¡TE¡¡R¡¡¡¡¡¡1¡¡¡¡¡¡¡ö¡¡¡¡¡¡¡¡R¡¡E¡¡AD¡¡Y¡¡£»¡¡¡¡¡¡ST¡¡E¡¡AD¡¡Y¡¡£»¡¡¡¡¡¡G¡¡O£¡¡¡13¡¡



Making¡¡the¡¡Console¡¡Application¡¡Say¡¡Hello¡¡



To¡¡make¡¡the¡¡console¡¡application¡¡do¡¡something£»¡¡you¡¡need¡¡to¡¡add¡¡some¡¡source¡¡code¡¡to¡¡the¡¡¡¡

Main£¨£©¡¡method£»¡¡as¡¡follows£º¡¡



Module¡¡Module1¡¡



¡¡¡¡¡¡¡¡Sub¡¡Main£¨£©¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Console¡£WriteLine£¨¡¨hello£»¡¡world¡¨£©¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Console¡£ReadKey£¨£©¡¡

¡¡¡¡¡¡¡¡End¡¡Sub¡¡



End¡¡Module¡¡



¡¡¡¡¡¡¡¡¡¡The¡¡bolded¡¡line¡¡writes¡¡the¡¡text¡¡¡°hello£»¡¡world¡±¡¡to¡¡the¡¡console¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡If¡¡you¡¡tried¡¡to¡¡run¡¡the¡¡console¡¡application¡¡by¡¡pressing¡¡Ctrl£«F5£»¡¡you¡¡would¡¡instead¡¡cause¡¡¡¡

the¡¡Windows¡¡application£»¡¡WindowsApplication£»¡¡to¡¡run¡£¡¡Let¡¯s¡¡change¡¡that¡¡next¡£¡¡¡¡



Setting¡¡the¡¡Startup¡¡Project¡¡



To¡¡execute¡¡the¡¡console¡¡application£»¡¡you¡¡need¡¡to¡¡set¡¡the¡¡console¡¡application¡¡as¡¡the¡¡startup¡¡project¡£¡¡¡¡

Did¡¡you¡¡notice¡¡how¡¡the¡¡WindowsApplication¡¡project¡¡is¡¡in¡¡bold¡¡in¡¡the¡¡Solution¡¡Explorer£¿¡¡That¡¡¡¡

means¡¡WindowsApplication¡¡is¡¡the¡¡startup¡¡project¡£¡¡Whenever¡¡you¡¡run¡¡or¡¡debug¡¡an¡¡application£»¡¡¡¡

the¡¡startup¡¡project¡¡is¡¡executed¡¡or¡¡debugged¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡To¡¡switch¡¡the¡¡startup¡¡project¡¡to¡¡ConsoleApplication£»¡¡right¡­click¡¡the¡¡ConsoleApplication¡¡¡¡

project¡¡and¡¡select¡¡Set¡¡As¡¡StartUp¡¡Project¡£¡¡ConsoleApplication¡¡will¡¡now¡¡be¡¡in¡¡bold£»¡¡meaning¡¡it¡¡is¡¡¡¡

the¡¡startup¡¡project¡¡of¡¡the¡¡ThreeExamples¡¡solution¡£¡¡



Running¡¡the¡¡Console¡¡Project¡¡



With¡¡ConsoleApplication¡¡set¡¡as¡¡the¡¡startup¡¡project£»¡¡you¡¡can¡¡now¡¡press¡¡Ctrl£«F5¡¡to¡¡run¡¡the¡¡¡¡

console¡¡application¡£¡¡The¡¡output¡¡is¡¡as¡¡follows£º¡¡



hello£»¡¡world¡¡



¡¡¡¡¡¡¡¡¡¡Executing¡¡the¡¡console¡¡application¡¡does¡¡not¡¡generate¡¡a¡¡window£»¡¡as¡¡you¡¡saw¡¡with¡¡the¡¡Windows¡¡¡¡

application¡£¡¡Instead£»¡¡a¡¡mand¡¡prompt¡¡is¡¡started¡¡with¡¡ConsoleApplication¡¡as¡¡the¡¡application¡¡¡¡

to¡¡execute¡£¡¡Executing¡¡that¡¡application¡¡generates¡¡the¡¡text¡¡¡°hello£»¡¡world¡£¡±¡¡You¡¡will¡¡also¡¡see¡¡that¡¡¡¡

you¡¡can¡¡press¡¡any¡¡key¡¡to¡¡close¡¡the¡¡mand¡¡prompt¡¡window¡£¡¡Visual¡¡Basic¡¡Express¡¡automati

cally¡¡generated¡¡the¡¡code¡¡to¡¡show¡¡this¡¡output¡¡and¡¡execute¡¡this¡¡action¡£¡¡

¡¡¡¡¡¡¡¡¡¡In¡¡general£»¡¡the¡¡console¡¡application¡¡is¡¡limited£»¡¡but¡¡it¡¯s¡¡an¡¡easy¡¡way¡¡to¡¡run¡¡specific¡¡tasks¡£¡¡¡¡

Now¡¡let¡¯s¡¡move¡¡on¡¡to¡¡the¡¡next¡¡example¡£¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡36¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

14¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CH¡¡AP¡¡T¡¡E¡¡R¡¡¡¡¡¡1¡¡¡¡¡¡¡ö¡¡¡¡¡¡¡¡R¡¡E¡¡A¡¡DY¡¡£»¡¡¡¡¡¡ST¡¡E¡¡A¡¡DY¡¡£»¡¡¡¡¡¡G¡¡O¡¡£¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Creating¡¡the¡¡Class¡¡Library¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡The¡¡third¡¡example¡¡in¡¡this¡¡chapter¡¡is¡¡not¡¡a¡¡¡¡application£»¡¡rather£»¡¡it¡¡is¡¡a¡¡shareable¡¡piece¡¡of¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡functionality£»¡¡typically¡¡called¡¡a¡¡¡¡class¡¡library¡£¡¡Windows¡¡applications¡¡and¡¡console¡¡applications¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡are¡¡programs¡¡that¡¡you¡¡can¡¡execute¡¡from¡¡a¡¡mand¡¡prompt¡¡or¡¡Windows¡¡Explorer¡£¡¡A¡¡class¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡library¡¡cannot¡¡be¡¡executed¡¡by¡¡the¡¡user£»¡¡but¡¡needs¡¡to¡¡be¡¡accessed¡¡by¡¡a¡¡Windows¡¡application¡¡or¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡console¡¡application¡£¡¡It¡¡is¡¡a¡¡convenient¡¡place¡¡to¡¡put¡¡code¡¡that¡¡can¡¡be¡¡used¡¡by¡¡more¡¡than¡¡one¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡application¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Adding¡¡a¡¡Class¡¡Library¡¡Project¡¡to¡¡the¡¡Solution¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡We¡¡will¡¡now¡¡create¡¡a¡¡class¡¡library¡¡for¡¡the¡¡Windows¡¡application¡¡and¡¡console¡¡application¡¡to¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡share¡£¡¡Follow¡¡these¡¡steps¡¡to¡¡add¡¡the¡¡new¡¡project¡¡to¡¡the¡¡ThreeExamples¡¡solution£º¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡1¡£¡¡¡¡Right¡­click¡¡the¡¡solution¡¡name£»¡¡ThreeExamples£»¡¡in¡¡the¡¡Solution¡¡Explorer¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡2¡£¡¡¡¡Select¡¡Add¡¡¡¡New¡¡Project¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡3¡£¡¡¡¡Select¡¡Class¡¡Library¡¡and¡¡change¡¡the¡¡name¡¡to¡¡ClassLibrary¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡The¡¡resulting¡¡solution¡¡project¡¡should¡¡look¡¡like¡¡Figure¡¡1¡­8¡£¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Figure¡¡1¡­8¡£¡¡¡¡Updated¡¡solution¡¡structure¡¡that¡¡contains¡¡three¡¡projects¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡The¡¡added¡¡ClassLibrary¡¡project¡¡has¡¡a¡¡single¡¡file¡¡called¡¡Class1¡£vb£»¡¡which¡¡is¡¡a¡¡plain¡­vanilla¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡source¡¡code¡¡file¡£¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡37¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡C¡¡H¡¡AP¡¡TE¡¡R¡¡¡¡¡¡1¡¡¡¡¡¡¡ö¡¡¡¡¡¡¡¡R¡¡E¡¡AD¡¡Y¡¡£»¡¡¡¡¡¡ST¡¡E¡¡AD¡¡Y¡¡£»¡¡¡¡¡¡G¡¡O£¡¡¡15¡¡



Moving¡¡Functionality¡¡



Now¡¡we¡¡will¡¡move¡¡the¡¡code¡¡used¡¡to¡¡say¡¡¡°hello£»¡¡world¡±¡¡from¡¡ConsoleApplication¡¡to¡¡¡¡

ClassLibrary¡£¡¡Add¡¡the¡¡code¡¡to¡¡Class1¡£vb¡¡as¡¡follows¡¡£¨the¡¡bolded¡¡code£©£º¡¡



Public¡¡Class¡¡Class1¡¡

¡¡¡¡¡¡¡¡Public¡¡Shared¡¡Sub¡¡HelloWorld£¨£©¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Console¡£WriteLine£¨¡¨hello£»¡¡world¡¨£©¡¡

¡¡¡¡¡¡¡¡End¡¡Sub¡¡

End¡¡Class¡¡



¡¡¡¡¡¡¡¡¡¡The¡¡modified¡¡code¡¡contains¡¡a¡¡method¡¡called¡¡HelloWorld£¨£©¡£¡¡When¡¡called£»¡¡this¡¡method¡¡will¡¡¡¡

output¡¡the¡¡text¡¡¡°hello£»¡¡world¡£¡±¡¡As¡¡mentioned¡¡earlier¡¡in¡¡the¡¡chapter£»¡¡a¡¡method¡¡is¡¡a¡¡set¡¡of¡¡instruc

tions¡¡that¡¡carry¡¡out¡¡a¡¡task¡£¡¡Methods¡¡are¡¡discussed¡¡in¡¡more¡¡detail¡¡in¡¡Chapter¡¡2¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡In¡¡order¡¡for¡¡applications¡¡to¡¡actually¡¡share¡¡the¡¡code¡¡that¡¯s¡¡in¡¡a¡¡class¡¡library£»¡¡you¡¡must¡¡make¡¡¡¡

the¡¡projects¡¡aware¡¡of¡¡each¡¡other¡¯s¡¡existence¡£¡¡You¡¡do¡¡that¡¡through¡¡references¡£¡¡



Defining¡¡References¡¡



To¡¡make¡¡one¡¡project¡¡aware¡¡of¡¡definitions¡¡in¡¡another¡¡project£»¡¡you¡¡need¡¡to¡¡define¡¡a¡¡reference¡£¡¡The¡¡¡¡

idea¡¡behind¡¡a¡¡reference¡¡is¡¡to¡¡indicate¡¡that¡¡a¡¡project¡¡knows¡¡about¡¡another¡¡piece¡¡of¡¡functionality¡£¡¡



¡öNote¡¡¡¡The¡¡project¡¡only¡¡knows¡¡about¡¡the¡¡functionality¡¡that¡¡has¡¡been¡¡declared¡¡as¡¡being¡¡public¡£¡¡Public¡¡function

ality£»¡¡or¡¡what¡¡Visual¡¡Basic¡¡programmers¡¡call¡¡public¡¡scope£»¡¡is¡¡when¡¡you¡¡declare¡¡a¡¡type¡¡with¡¡the¡¡Public¡¡keyword¡£¡¡¡¡

You¡¡will¡¡learn¡¡about¡¡public¡¡and¡¡other¡¡scopes¡¡throughout¡¡this¡¡book¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡To¡¡make¡¡ConsoleApplication¡¡aware¡¡of¡¡the¡¡functionality¡¡in¡¡the¡¡ClassLibrary¡¡project£»¡¡you¡¡¡¡

need¡¡to¡¡set¡¡a¡¡physical¡¡reference£»¡¡as¡¡follows£º¡¡



¡¡¡¡¡¡¡¡¡¡1¡£¡¡¡¡In¡¡the¡¡Solution¡¡Explorer£»¡¡click¡¡ConsoleApplication¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡2¡£¡¡¡¡Right¡­click¡¡and¡¡select¡¡Add¡¡Reference¡£¡¡



¡¡¡¡¡¡¡¡¡¡3¡£¡¡¡¡Click¡¡the¡¡Projects¡¡tab¡£¡¡



¡¡¡¡¡¡¡¡¡¡4¡£¡¡¡¡Select¡¡ClassLibrary£»¡¡and¡¡then¡¡click¡¡OK¡£¡¡ClassLibrary¡¡will¡¡be¡¡added¡¡to¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ConsoleApplication¡¯s¡¡references¡£¡¡



¡¡¡¡¡¡¡¡¡¡Once¡¡the¡¡reference¡¡has¡¡been¡¡assigned£»¡¡ConsoleApplication¡¡can¡¡call¡¡the¡¡functionality¡¡in¡¡¡¡

ClassLibrary¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡To¡¡know¡¡which¡¡references¡¡your¡¡application¡¡or¡¡class¡¡library¡¡has£»¡¡you¡¡need¡¡to¡¡look¡¡in¡¡the¡¡¡¡

project¡¡settings¡£¡¡To¡¡do¡¡so£»¡¡right¡­click¡¡the¡¡project¡¡name£»¡¡ConsoleApplication£»¡¡in¡¡the¡¡Solution¡¡¡¡

Explorer¡¡and¡¡select¡¡Properties¡£¡¡In¡¡the¡¡Properties¡¡window£»¡¡select¡¡the¡¡References¡¡tab£»¡¡as¡¡shown¡¡¡¡

in¡¡Figure¡¡1¡­9¡£¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡38¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

16¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CH¡¡AP¡¡T¡¡E¡¡R¡¡¡¡¡¡1¡¡¡¡¡¡¡ö¡¡¡¡¡¡¡¡R¡¡E¡¡A¡¡DY¡¡£»¡¡¡¡¡¡ST¡¡E¡¡A¡¡DY¡¡£»¡¡¡¡¡¡G¡¡O¡¡£¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Figure¡¡1¡­9¡£¡¡References¡¡used¡¡by¡¡the¡¡Visual¡¡Basic¡¡project¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Calling¡¡Class¡¡Library¡¡Functionality¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Now¡¡we¡¡need¡¡to¡¡change¡¡ConsoleApplication¡¡so¡¡that¡¡it¡¡calls¡¡the¡¡function¡¡in¡¡ClassLibrary¡£¡¡Modify¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡the¡¡Module1¡£vb¡¡file¡¡in¡¡ConsoleApplication¡¡as¡¡follows£º¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Module¡¡Module1¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Sub¡¡Main£¨£©¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Console¡£WriteLine£¨¡¨hello£»¡¡world¡¨£©¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ClassLibrary¡£Class1¡£HelloWorld£¨£©¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Console¡£ReadKey£¨£©¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡End¡¡Sub¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡End¡¡Module¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Run¡¡ConsoleApplication¡¡by¡¡pressing¡¡Ctrl£«F5¡£¡¡A¡¡mand¡¡prompt¡¡window¡¡should¡¡appear¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡and¡¡generate¡¡the¡¡¡°hello£»¡¡world¡±¡¡text¡¡twice¡£¡¡The¡¡first¡¡¡°hello£»¡¡world¡±¡¡is¡¡generated¡¡by¡¡the¡¡code¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Console¡£WriteLine£¨£©¡£¡¡Calling¡¡the¡¡function¡¡ClassLibrary¡£Class1¡£HelloWorld£¨£©¡¡generates¡¡the¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡second¡¡¡°hello£»¡¡world¡£¡±¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡USING¡¡REFERENCE¡¡SHORTHAND¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ClassLibrary¡£Class1¡£HelloWorld£¨£©¡¡is¡¡the¡¡longhand¡¡way¡¡to¡¡use¡¡a¡¡reference¡£¡¡If¡¡we¡¡were¡¡to¡¡use¡¡long

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡hand¡¡for¡¡the¡¡Console¡£WriteLine£¨£©¡¡call£»¡¡we¡¡would¡¡write¡¡System¡£Console¡£WriteLine£¨£©£»¡¡because¡¡the¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Console¡£WriteLine£¨£©¡¡method¡¡is¡¡defined¡¡in¡¡the¡¡System¡¡reference¡£¡¡However£»¡¡Visual¡¡Basic¡¡Express¡¡includes¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡the¡¡¡¡System¡¡reference¡¡by¡¡default£»¡¡so¡¡we¡¡don¡¯t¡¡need¡¡to¡¡do¡¡it¡¡this¡¡way¡£¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡39¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡C¡¡H¡¡AP¡¡TE¡¡R¡¡¡¡¡¡1¡¡¡¡¡¡¡ö¡¡¡¡¡¡¡¡R¡¡E¡¡AD¡¡Y¡¡£»¡¡¡¡¡¡ST¡¡E¡¡AD¡¡Y¡¡£»¡¡¡¡¡¡G¡¡O£¡¡¡17¡¡



¡¡¡¡¡¡To¡¡use¡¡shorthand¡¡for¡¡the¡¡ClassLibrary¡¡call£»¡¡we¡¡would¡¡include¡¡an¡¡¡¡Imports¡¡line¡¡at¡¡the¡¡beginning¡¡of¡¡¡¡

¡¡¡¡¡¡Module1¡£vb¡¡in¡¡ConsoleApplication¡¡and¡¡change¡¡the¡¡call¡¡to¡¡Class1¡¯s¡¡HelloWorld£¨£©¡¡method£º¡¡



¡¡¡¡¡¡Imports¡¡ClassLibrary¡¡

¡¡¡¡¡¡Module¡¡Module1¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡Sub¡¡Main£¨£©¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Console¡£WriteLine£¨¡¨hello£»¡¡world¡¨£©¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Class1¡£HelloWorld£¨£©¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Console¡£ReadKey£¨£©¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡End¡¡Sub¡¡



¡¡¡¡¡¡End¡¡Module¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡But¡¡shorthand¡¡like¡¡this¡¡has¡¡a¡¡downside¡£¡¡What¡¡if¡¡we¡¡had¡¡many¡¡references£»¡¡each¡¡containing¡¡a¡¡class¡¡called¡¡¡¡

¡¡¡¡¡¡Class1£¿¡¡In¡¡this¡¡case£»¡¡Visual¡¡Basic¡¡Express¡¡wouldn¡¯t¡¡know¡¡which¡¡Class1¡¡to¡¡use¡¡without¡¡the¡¡help¡¡of¡¡longhand¡£¡¡¡¡

¡¡¡¡¡¡Granted£»¡¡you¡¡are¡¡not¡¡likely¡¡to¡¡name¡¡multiple¡¡classes¡¡Class1£»¡¡but¡¡even¡¡sensible¡¡names¡¡can¡¡be¡¡duplicated¡¡in¡¡a¡¡¡¡

¡¡¡¡¡¡collection¡¡of¡¡references¡£¡¡And¡¡if¡¡you¡¡are¡¡using¡¡someone¡¡else¡¯s¡¡code¡¡as¡¡a¡¡reference£»¡¡the¡¡possibility¡¡of¡¡duplicate¡¡¡¡

¡¡¡¡¡¡names¡¡bees¡¡higher¡£¡¡Therefore£»¡¡you¡¯re¡¡better¡¡off¡¡using¡¡longhand¡¡in¡¡this¡¡case¡£¡¡



Using¡¡Variables¡¡and¡¡Constants¡¡



One¡¡of¡¡the¡¡core¡¡concepts¡¡in¡¡a¡¡Visual¡¡Basic¡¡program¡¡is¡¡to¡¡use¡¡variables¡£¡¡Think¡¡of¡¡a¡¡variable¡¡as¡¡a¡¡¡¡

block¡¡of¡¡memory¡¡where¡¡you¡¡can¡¡store¡¡data¡¡for¡¡later¡¡use¡£¡¡This¡¡allows¡¡you¡¡to¡¡pass¡¡data¡¡around¡¡¡¡

within¡¡your¡¡program¡¡very¡¡easily¡£¡¡

¡¡¡¡¡¡¡¡¡¡¡¡In¡¡our¡¡ClassLibrary¡¡project£»¡¡it¡¡would¡¡make¡¡life¡¡easier¡¡if¡¡we¡¡could¡¡define¡¡the¡¡message¡¡to¡¡¡¡

display¡¡at¡¡the¡¡beginning¡¡of¡¡the¡¡method¡£¡¡That¡¡way£»¡¡if¡¡we¡¡decide¡¡to¡¡change¡¡the¡¡message£»¡¡we¡¡can¡¡get¡¡at¡¡¡¡

it¡¡much¡¡more¡¡easily¡£¡¡As¡¡it¡¡stands£»¡¡if¡¡we¡¡were¡¡to¡¡add¡¡more¡¡code¡¡before¡¡the¡¡Console¡£WriteLine£¨£©¡¡call£»¡¡¡¡

we¡¡would¡¡need¡¡to¡¡scroll¡¡through¡¡the¡¡text¡¡to¡¡find¡¡the¡¡message¡¡to¡¡change¡£¡¡A¡¡variable¡¡is¡¡perfect¡¡for¡¡¡¡

this£»¡¡as¡¡we¡¡can¡¡define¡¡some¡¡data¡¡£¨the¡¡message¡¡to¡¡print£©£»¡¡and¡¡then¡¡use¡¡it¡¡later¡¡in¡¡our¡¡program¡£¡¡



Public¡¡Class¡¡Class1¡¡

¡¡¡¡¡¡¡¡Public¡¡Shared¡¡Sub¡¡HelloWorld£¨£©¡¡

¡¡

·µ»ØĿ¼ ÉÏÒ»Ò³ ÏÂÒ»Ò³ »Øµ½¶¥²¿ ÔÞ£¨0£© ²È£¨1£©

Äã¿ÉÄÜϲ»¶µÄ