Windows Mobile¿ª·¢ÃæÊÔÌâ

Windows Mobile ¿ª·¢ÃæÊÔÌâ

ºÅÒ»Ñù¡£

12.C#Ϊʲô²»ÄÜÓÃÀà½øÐжàÖØ¼Ì³Ð,ËüÓÃʲô´úÌæÁË?

´ð£ºC#ÖÐÊÇûÓÐÀàµÄ¶àÖØ¼Ì³ÐÕâ¸ö¸ÅÄî.ҪʹÓöàÖØ¼Ì³Ð±ØÐëҪͨ¹ý½Ó¿ÚInterfaceÀ´Íê³É¡£

13.ÀàºÍ½á¹¹ÓÐʲô²»Í¬ºÍÏàͬµã?

£¨1£©¡¢Àࣺ

¶ÔÏóÊÇʲô©o¶ÔÏó¾ÍÊÇÕâ¸öÊÀ½çµÄÈ«²¿©oÈË©pÖ²Îï©pÐÇÌåµÈµÈ

ÀàÊÇʲô©oÀàÊǶԶÔÏóµÄÒ»¸ö³éÏó©o°ÑÓй²Í¬ÌØÕ÷ÐÐΪµÄ¶ÔÏó³éÏóÔÚÒ»Æð¾ÍÊÇÀà©oÄ¿µÄÊÇΪÁ˸üºÃµÄÔË×ö¹ÜÀíÕâЩ¶ÔÏó

¶ÔÏóÊÇÀàµÄÒ»¸öʵÀý¡£

£¨2£©¡¢½á¹¹£º ¿ÉÒÔ°ÑËü¿´×öÊÇÇáÁ¿¼¶±ðµÄÀà Çø±ð£º

a)¡¢½á¹¹ÊÇÖµÀàÐÍ£¨ÖµÀàÐÍÔÚÕ»ÉÏ·ÖÅ䵨ַ£©©oÀàÊÇÒýÓÃÀàÐÍ£¨ÒýÓÃÀàÐÍÔÚ¶ÑÉÏ·ÖÅ䵨ַ£© ¶ÑÕ»µÄÖ´ÐÐЧÂÊÒª±È¶ÑµÄÖ´ÐÐЧÂʸߣ¬¿ÉÊǶÑÕ»µÄ×ÊÔ´ÓÐÏÞ£¬²»Êʺϴ¦Àí´óµÄÂß¼­¸´ÔӵĶÔÏó¡£ËùÒԽṹ´¦Àí×÷Ϊ»ùÀàÐͶԴýµÄС¶ÔÏ󣬶øÀà´¦Àíij¸öÉÌÒµÂß¼­

b)¡¢½á¹¹²»Äܼ̳У¨ËäÈ»½á¹¹Ã»ÓÐÃ÷È·µÄÓÃsealedÉùÃ÷£¬¿ÉÊǽṹÊÇÒþʽµÄsealed.£© Àà³ý·ÇÏÔʾµÄÉùÃ÷sealed·ñÔòÀà¿ÉÒÔ¼Ì³ÐÆäËûÀàºÍ½Ó¿Ú£¬×ÔÉíÒ²Äܱ»¼Ì³Ð

c)¡¢ÄÚ²¿½á¹¹£º ½á¹¹£º

ûÓÐĬÈϵĹ¹Ô캯Êý£¬µ«ÊÇ¿ÉÒÔÌí¼Ó¹¹Ô캯Êý ûÓÐÎö¹¹º¯Êý

ûÓÐabstractºÍsealed(ÒòΪ²»Äܼ̳Ð) ²»ÄÜÓÐprotectedÐÞÊηû ¿ÉÒÔ²»Ê¹ÓÃnew³õʼ»¯

ÔڽṹÖгõʼ»¯ÊµÀý×Ö¶ÎÊÇ´íÎóµÄ

Àࣺ

ÓÐĬÈϵĹ¹Ô캯Êý ÓÐÎö¹¹º¯Êý

¿ÉÒÔʹÓÃabstractºÍsealed ÓÐprotectedÐÞÊηû ±ØÐëʹÓÃnew³õʼ»¯

14.ʲôÊÇ·´Éä,Çë¾ÙÀý˵Ã÷?

´ð£º ³ÌÐò¼¯£¨Assembly£©°üº¬Ä£¿é£¨Module£©£¬¶øÄ£¿é°üº¬ÀàÐÍ£¨Class£©£¬ÀàÐÍÓÖ°üº¬³ÉÔ±¡£·´ÉäÔòÌṩÁË·â×°³ÌÐò¼¯¡¢Ä£¿éºÍÀàÐ͵ĶÔÏó¡£Äú¿ÉÒÔʹÓ÷´É䶯̬µØ´´½¨ÀàÐ͵ÄʵÀý£¬½«

Windows Mobile ¿ª·¢ÃæÊÔÌâ

ÀàÐͰ󶨵½ÏÖÓжÔÏ󣬻ò´ÓÏÖÓжÔÏóÖлñÈ¡ÀàÐÍ¡£È»ºó£¬¿ÉÒÔµ÷ÓÃÀàÐ͵ķ½·¨»ò·ÃÎÊÆä×ֶκÍÊôÐÔ¡£·´Éäͨ³£¾ßÓÐÒÔÏÂÓÃ;£º

(1)¡¢Ê¹Óà Assembly ¶¨ÒåºÍ¼ÓÔØ³ÌÐò¼¯£¬¼ÓÔØÔÚ³ÌÐò¼¯Çåµ¥ÖÐÁгöµÄÄ£¿é£¬ÒÔ¼°´Ó´Ë³ÌÐò¼¯ÖвéÕÒÀàÐͲ¢´´½¨¸ÃÀàÐ͵ÄʵÀý¡£

(2)¡¢Ê¹Óà Module Á˽âÈçϵÄÀàËÆÐÅÏ¢£º°üº¬Ä£¿éµÄ³ÌÐò¼¯ÒÔ¼°Ä£¿éÖеÄÀàµÈ¡£Äú»¹¿ÉÒÔ»ñÈ¡ÔÚÄ£¿éÉ϶¨ÒåµÄËùÓÐÈ«¾Ö·½·¨»òÆäËûÌØ¶¨µÄ·ÇÈ«¾Ö·½·¨¡£

(3)¡¢Ê¹Óà ConstructorInfo Á˽âÈçϵÄÀàËÆÐÅÏ¢£º¹¹Ô캯ÊýµÄÃû³Æ¡¢²ÎÊý¡¢·ÃÎÊÐÞÊηû£¨Èç public »ò private£©ºÍʵÏÖÏêϸÐÅÏ¢£¨Èç abstract »ò virtual£©µÈ¡£Ê¹Óà Type µÄ GetConstructors »ò GetConstructor ·½·¨À´µ÷ÓÃÌØ¶¨µÄ¹¹Ô캯Êý¡£

(4)¡¢Ê¹Óà MethodInfo À´Á˽âÈçϵÄÀàËÆÐÅÏ¢£º·½·¨µÄÃû³Æ¡¢·µ»ØÀàÐÍ¡¢²ÎÊý¡¢·ÃÎÊÐÞÊηû£¨Èç public »ò private£©ºÍʵÏÖÏêϸÐÅÏ¢£¨Èç abstract »ò virtual£©µÈ¡£Ê¹Óà Type µÄ GetMethods »ò GetMethod ·½·¨À´µ÷ÓÃÌØ¶¨µÄ·½·¨¡£ (5)¡¢Ê¹Óà FieldInfo À´Á˽âÈçϵÄÀàËÆÐÅÏ¢£º×ֶεÄÃû³Æ¡¢·ÃÎÊÐÞÊηû£¨Èç public »ò private£©ºÍʵÏÖÏêϸÐÅÏ¢£¨Èç static£©µÈ£»²¢»ñÈ¡»òÉèÖÃ×Ö¶ÎÖµ¡£ (6)¡¢Ê¹Óà EventInfo À´Á˽âÈçϵÄÀàËÆÐÅÏ¢£ºÊ¼þµÄÃû³Æ¡¢Ê¼þ´¦Àí³ÌÐòÊý¾ÝÀàÐÍ¡¢×Ô¶¨ÒåÊôÐÔ¡¢ÉùÃ÷ÀàÐͺͷ´ÉäÀàÐ͵ȣ»²¢Ìí¼Ó»òÒÆ³ýʼþ´¦Àí³ÌÐò¡£

(7)¡¢Ê¹Óà PropertyInfo À´Á˽âÈçϵÄÀàËÆÐÅÏ¢£ºÊôÐÔµÄÃû³Æ¡¢Êý¾ÝÀàÐÍ¡¢ÉùÃ÷ÀàÐÍ¡¢·´ÉäÀàÐͺÍÖ»¶Á»ò¿Éд״̬µÈ£»²¢»ñÈ¡»òÉèÖÃÊôÐÔÖµ¡£

(8)¡¢Ê¹Óà ParameterInfo À´Á˽âÈçϵÄÀàËÆÐÅÏ¢£º²ÎÊýµÄÃû³Æ¡¢Êý¾ÝÀàÐÍ¡¢²ÎÊýÊÇÊäÈë²ÎÊý»¹ÊÇÊä³ö²ÎÊý£¬ÒÔ¼°²ÎÊýÔÚ·½·¨Ç©ÃûÖеÄλÖõȡ£

15.ÔÚ.NETÖÐʲôÀ಻Äܱ»¼Ì³Ð£¿

´ð£ºÔÚÀàÉùÃ÷ÖÐʹÓÃsealed£¨ÃÜ·âÀࣩ¿É·ÀÖ¹ÆäËüÀà¼Ì³Ð´ËÀࣻÔÚ·½·¨ÉùÃ÷ÖÐʹÓÃsealedÐÞÊηû¿É·ÀÖ¹À©³äÀàÖØÐ´override´Ë·½·¨¡£

16¡¢

NETÐòÁл¯ºÍ·´ÐòÁл¯»ù´¡ÖªÊ¶×ܽá

.NETÐòÁл¯ºÍ·´ÐòÁл¯µÄ»ù´¡Ñ§Ï°ÐèÒªÃ÷°×ºÍÕÆÎÕʲô»ù´¡ÖªÊ¶ÄØ£¿ÏÂÃæÎÒÃǾÍ.NETÐòÁл¯ºÍ·´ÐòÁл¯µÄ¸ÅÄî¡¢´æÔڵıØÒªÐÔÒÔ¼°¼òµ¥µÄʵÏÖ·½ÃæÏòÄã½éÉÜ.NETÐòÁл¯ºÍ·´ÐòÁл¯µÄÏà¹ØÄÚÈÝ¡£

.NETÐòÁл¯ºÍ·´ÐòÁл¯µÄѧϰÖж¼»áÉæ¼°µ½Ê²Ã´¸ÅÄîÄØ£¿ÔÚÎÒÃÇѧϰ֮ǰÆäʵ»¹ÊÇÒªÃ÷°×ÎÊʲô»áÓÐ.NETÐòÁл¯£¬Ëü´æÔڵıØÒªÐÔÊÇʲô£¿ÊÇÈçºÎʵÏÖµÄÄØ£¿ÄÇôÏÂÃæÎÒÃÇÖðÒ»½éÉÜ

.NETÐòÁл¯µÄ¸ÅÄ

Windows Mobile ¿ª·¢ÃæÊÔÌâ

¡°ÐòÁл¯¡±¿É±»¶¨ÒåΪ½«¶ÔÏóµÄ״̬´æ´¢µ½´æ´¢Ã½½éÖеĹý³Ì¡£Ôڴ˹ý³ÌÖУ¬¶ÔÏóµÄ¹«¹²×ֶκÍ˽ÓÐ×Ö¶ÎÒÔ¼°ÀàµÄÃû³Æ£¨°üÀ¨°üº¬¸ÃÀàµÄ³ÌÐò¼¯£©¶¼±»×ª»»Îª×Ö½ÚÁ÷£¬È»ºóдÈëÊý¾ÝÁ÷¡£ÔÚÒÔºó¡°·´ÐòÁл¯¡±¸Ã¶ÔÏóʱ£¬´´½¨Ô­Ê¼¶ÔÏóµÄ¾«È·¸´±¾¡£

Ò»¡¢.NETÐòÁл¯ºÍ·´ÐòÁл¯µÄ±ØÒªÐÔ

1¡¢½«¶ÔÏóµÄ״̬±£³ÖÔڴ洢ýÌåÖУ¬ÒÔ±ã¿ÉÒÔÔÚÒÔºóÖØÐ´´½¨¾«È·µÄ¸±±¾£» 2¡¢Í¨¹ýÖµ½«¶ÔÏó´ÓÒ»¸öÓ¦ÓóÌÐòÓò·¢Ë͵½ÁíÒ»¸öÓ¦ÓóÌÐòÓòÖС£

ÀýÈ磬ÐòÁл¯¿ÉÓÃÓÚÔÚ ASP.NET Öб£´æ»á»°×´Ì¬²¢½«¶ÔÏó¸´ÖƵ½ Windows ´°ÌåµÄ¼ôÌù°åÖС£Ô¶³Ì´¦Àí»¹¿ÉÒÔʹÓÃÐòÁл¯Í¨¹ýÖµ½«¶ÔÏó´ÓÒ»¸öÓ¦ÓóÌÐòÓò´«µÝµ½ÁíÒ»¸öÓ¦ÓóÌÐòÓòÖС£

¶þ¡¢ÈçºÎʵÏÖ.NETÐòÁл¯ºÍ·´ÐòÁл¯

1¡¢ÒªÊµÏÖ¶ÔÏóµÄÐòÁл¯£¬Ê×ÏÈÒª±£Ö¤¸Ã¶ÔÏó¿ÉÒÔÐòÁл¯¡£¶øÇÒ£¬ÐòÁл¯Ö»Êǽ«¶ÔÏóµÄÊôÐÔ½øÐÐÓÐЧµÄ±£´æ£¬¶ÔÓÚ¶ÔÏóµÄһЩ·½·¨ÔòÎÞ·¨ÊµÏÖÐòÁл¯µÄ¡£ÊµÏÖÒ»¸öÀà¿ÉÐòÁл¯µÄ×î¼ò±ãµÄ·½·¨¾ÍÊÇÔö¼ÓSerializableÊôÐÔ±ê¼ÇÀà¡£È磺

1. [Serializable()] 2. public class MEABlock 3. {

4. private int m_ID; 5. public string Caption; 6.

7. public MEABlock() 8. {

9. ///¹¹Ô캯Êý 10. } 11. }

¼´¿ÉʵÏÖ¸ÃÀàµÄ¿ÉÐòÁл¯¡£

2¡¢Òª½«¸ÃÀàµÄʵÀýÐòÁл¯Îªµ½ÎļþÖУ¿.NET FrameWorkÌṩÁËÁ½ÖÖ·½·¨£º £¨1£©XMLÐòÁл¯

ʹÓà XmLSerializer À࣬¿É½«ÏÂÁÐÏîÐòÁл¯¡£ ¡ô¹«¹²ÀàµÄ¹«¹²¶Á£¯Ð´ÊôÐÔºÍ×Ö¶Î

¡ôʵÏÖ ICollection »ò IEnumerable µÄÀà¡££¨×¢ÒâÖ»Óм¯ºÏ»á±»ÐòÁл¯£¬¶ø¹«¹²ÊôÐÔÈ´²»»á¡££©

Windows Mobile ¿ª·¢ÃæÊÔÌâ

¡ôXmlElement ¶ÔÏó¡£ ¡ôXmlNode ¶ÔÏó¡£ ¡ôDataSet ¶ÔÏó¡£

ҪʵÏÖÉÏÊöÀàµÄʵÀýµÄÐòÁл¯£¬¿É²ÎÕÕÈçÏÂÀý×Ó£º

12. MEABlock myBlock = new MEABlock();

13. // Insert code to set properties and fields of the object.

14. XmlSerializer mySerializer = new XmlSerializer(typeof(MEABlock)); 15. // To write to a file, create a StreamWriter object.

16. StreamWriter myWriter = new StreamWriter(\); 17. mySerializer.Serialize(myWriter, MEABlock);

ÐèҪעÒâµÄÊÇXMLÐòÁл¯Ö»»á½«publicµÄ×ֶα£´æ£¬¶ÔÓÚ˽ÓÐ×ֶβ»ÓèÓÚ±£´æ¡£Éú³ÉµÄXMLÎļþ¸ñʽÈçÏ£º

18.

19. Test 20.

¶ÔÓÚ¶ÔÏóµÄ·´ÐòÁл¯£¬ÔòÈçÏ£º

21. MEABlock myBlock;

22. // Constructs an instance of the XmlSerializer with the type 23. // of object that is being deserialized.

24. XmlSerializer mySerializer = new XmlSerializer(typeof(MEABlock)); 25. // To read the file, creates a FileStream.

26. FileStream myFileStream = new FileStream(\, FileMode.Op

en);

27. // Calls the Deserialize method and casts to the object type. 28. myBlock = (MEABlock)mySerializer.Deserialize(myFileStream)

£¨2£©¶þ½øÖÆÐòÁл¯

ÓëXMLÐòÁл¯²»Í¬µÄÊÇ£¬¶þ½øÖÆÐòÁл¯¿ÉÒÔ½«ÀàµÄʵÀýÖÐËùÓÐ×ֶΣ¨°üÀ¨Ë½Óк͹«ÓУ©¶¼½øÐÐÐòÁл¯²Ù×÷¡£Õâ¾Í¸ü·½±ã¡¢¸ü׼ȷµÄ»¹Ô­Á˶ÔÏóµÄ¸±±¾¡£ ҪʵÏÖÉÏÊöÀàµÄʵÀýµÄÐòÁл¯£¬¿É²ÎÕÕÈçÏÂÀý×Ó£º

29. MEABlock myBlock = new MEABlock();

30. // Insert code to set properties and fields of the object. 31. IFormatter formatter = new BinaryFormatter(); 32. Stream stream = new FileStream(

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)