¡¶C#ͼ½â½Ì³Ì¡·¶ÁÊé±Ê¼ÇµÚ16Õ——ʼþ
Õâ±¾Êé½²½â
C#
ÓïÑÔÊ®·ÖÏêϸ£¬ÎÒ½«ÆäÖеÄÖØÒªÄÚÈÝÕûÀí³ÉÌõ¿î£¬ÒÔ±¸Íü¡£
1.
ʼþÊÇÔÚÂú×ãij¸öÌØ¶¨Ìõ¼þʱ·¢ÉúµÄ£¬´¥·¢
(raise)
ʼþµÄ¶ÔÏó³ÆÎª·¢²¼Õß
(publisher)
£¬¶ÔÕâ¸öʼþ½øÐÐÏìÓ¦µÄ¶ÔÏó³ÆÎª¶©ÔÄÕß
(subscriber)
¡£Ê¼þ´¦Àí³ÌÐòÊÇ×¢²áµ½Ê¼þµÄ·½·¨£¬¿ÉÔÚÈκÎÀà»òÕ߽ṹÖС£
2.
×Ô¶¨ÒåʼþµÄ²½Ö裺
1.
ίÍÐÉùÃ÷£ºÊ¼þºÍʼþµÄ´¦Àí³ÌÐò±ØÐëÓÐÏàͬµÄÇ©ÃûºÍ·µ»ØÀàÐÍ¡£¶¼Í¨¹ý¶ÔÓ¦µÄίÍÐÀàÐÍÀ´ÃèÊö¡£
2.
ʼþ´¦Àí³ÌÐòÉùÃ÷£ºÔÚʼþ±»´¥·¢ºóÖ´Ðеķ½·¨¡£
3.
ʼþÉùÃ÷£ºÔÚʼþ·¢²¼ÕßÀàÖÐÉùÃ÷±£´æ²¢µ÷ÓÃʼþ´¦Àí³ÌÐò¡£
4.
¶©ÔÄʼþ£º½«Ê¼þ´¦Àí³ÌÐòÓëʼþÁ¬½ÓÆðÀ´¡£
5.
±àд´¥·¢Ê¼þµÄ´úÂ룺ÔÚ·¢²¼ÕßÀàÖбàд´úÂë´¥·¢Ê¼þµ¼Ö¶©ÔÄ´ËʼþµÄʼþ´¦Àí³ÌÐò±»µ÷Óá£
3.
ÉùÃ÷ʼþʱÐèҪίÍеÄÃû×Ö£¬Ó﷨Ϊ£º
public event DelegateName EventName;
ʼþÓëίÍеÄÐÐΪʮ·ÖÏàËÆ£¬ÔÒòÊÇʼþÆäʵÊǶÔίÍеķâ×°£¬Ê¼þÖаüº¬Ò»¸ö˽ÓеÄίÍбäÁ¿£¬Ìṩ¶ÔËüµÄ˽ÓпØÖÆ£¬²¢¶ÔÍâ½çÌṩÁËÓÐÏ޵IJÙ×÷·½Ê½
£¬ÕâÑùÓû§´úÂë¾Í²»¿ÉÒÔ¶ÔÕâ¸öίÍнøÐпÉÄÜ»áÆÆ»µÃæÏò¶ÔÏó·â×°ÐԵIJÙ×÷ÁË¡£
+=
ºÍ
-=
ÊÇʼþΨһÔÊÐíµÄÔËËã·û
£¬ËüÃÇ·Ö±ðÓÃÀ´¶Ôʼþ½øÐÐÌí¼Ó
ºÍɾ³ý
ʼþ´¦Àí³ÌÐò¡£
4.
×¢Ò⣺ÓëίÍв»Í¬£¬Ê¼þÊÇÒ»¸öÀàµÄ³ÉÔ±
£¬¶ø·ÇÊÇÀàÐÍ¡£Ê¼þÊÇij¸öÌØ¶¨ÀàÐÍÖеÄÒ»ÖÖ³ÉÔ±£¬ËüÔÊÐíËüËùÔÚµÄÀàÐÍ£¨»òÕßÀàÐ͵ÄʵÀý£©ÔÚÄ³Ð©ÌØ¶¨ÊÂÇé·¢ÉúµÄʱºò֪ͨÆäËû¶ÔÏó¡£ÓÉÓÚʼþÊdzÉÔ±£¬ËùÒÔ²»¿ÉÒÔʹÓöÔÏó´´½¨±í´ïʽ
(new)
À´´´½¨ËüµÄ¶ÔÏó£¬ÇÒʼþ±ØÐëÉùÃ÷ÔÚÀà»ò½á¹¹ÖУ¬ÁíÍ⣺ʼþ³ÉÔ±±»Òþʽ×Ô¶¯³õʼ»¯Îª
null
¡£
5.
´¥·¢Ê¼þ¿´ÆðÀ´Óëµ÷Ó÷½·¨ÀàËÆ¡£Ê¹ÓÃʼþÃû³Æ£¬²ÎÊýÁбí°üº¬ÔÚÔ²À¨ºÅÖС£²ÎÊýÁÐ±í±ØÐëÆ¥ÅäʼþµÄίÍÐÀàÐÍ¡£
6.
ΪʼþÌí¼Óʼþ´¦Àí³ÌÐòʱ£¬´¦Àí³ÌÐò±ØÐëºÍίÍÐÀàÐÍÓµÓÐÏàͬµÄ·µ»ØÀàÐͺÍÇ©Ãû
¡£Í¨¹ý
+=
ÔËËã·ûÀ´ÎªÊ¼þÌí¼Ó´¦Àí³ÌÐò¡£Ê¼þ´¦Àí³ÌÐò¿ÉÒÔÊÇÒÔÏÂÈκÎÒ»ÖÖ£º
ʵÀý·½·¨
¾²Ì¬·½·¨
ÄäÃû·½·¨
Lambda
±í´ïʽ
Ïà¹ØÎĵµ£º
C#¶ÁÈ¡XML×ÊÁÏ
Ò» C#¶ÁÈ¡XML×ÊÁÏ
À©³ä±ê¼ÇÓïÑÔXML£¨eXtensible Markup Language£©£¬ÊÇÓÉWÈýC»ú¹ØÖƶ©µÄ¡£×öΪÓÃÒÔ´úÌæHTMLÓïÑÔµÄÒ»ÖÖÐÂʽµÄ±ê¼ÇÓïÑÔ£¬XMLÄÚ²¿ÓÐןܶà¸ù±¾»ù×¼£¬XMLÄËÊǾ¹ýÓëÕâЩÏà¸É»ù×¼µØ×éºÏ£¬Ó¦ÓÃÓÚ¿ÆÑ§¼ÆËã¡¢µç×Ó³ö°æ¡¢¶àýÌåϵÌåÀý×÷ºÍµç×ÓÉÌÎñµÄ¡£C££×÷ΪһÖÖÐÂʽµÄ³ÌÐòÓïÑÔ£¬ÊÇ.Net¹¹¼ÜµÄÒ»¸öÖ ......
1
<asp:UpdatePanelID="UpdatePanel1"
UpdateMode="Conditional"
runat="server">
<ContentTemplate>
<asp:Button ID="Button1"
......
±àÒ룺C³ÌÐòÖ±½Ó±àÒë³É±ê×¼µÄ¶þ½øÖÆ¿ÉÖ´ÐеĴúÂ룬µ«C#µÄÔ´³ÌÐò²¢²»ÊDZ»±àÒë³É¶þ½øÖÆ¿ÉÖ´ÐеÄÐÎʽ£¬¶øÊÇÒ»ÖÖÖмäÓïÑÔ£¨MSIL£©£¬ÀàËÆJAVAÖеÄ×Ö½ÚÂë
½á¹¹Ì壺C#µÄ½á¹¹ÌåÓëC++µÄ½á¹¹ÌåÏàËÆ¡£µ«ÊÇC#µÄ½á¹¹ÌåÓëÀàÊDz»Í¬µÄ£¬¶øÇÒ²»Ö§³Ö¼Ì³Ð¡£
Ô¤±àÒ룺C#ÖдæÔÚÔ¤±àÒëµÄÖ¸ÁîÖ§³ÖÌõ¼þ±àÒ룬¾¯¸æ£¬´íÎ󱨸æºÍ±àÒëÐпØÖÆ¡£ÆäÖ¸Áî ......
3£©¶ÁÈ¡¡¢²éÕÒ
µ±ÄãÊÖÍ·ÓÐÒ»¸öxmlÎļþºó£¬¿ÉÒÔʹÓÃXmlDocument.Load()·½·¨½«Æä¼ÓÔØ½øÀ´ÒԱ㴦Àí£¬ËùÒÔ“¶ÁÈ¡”ûÓÐʲô¿É˵µÄ¡£¶ø“²éÕÒ”²Ù×÷ÍùÍùÉæ¼°XPath£¬ÕâÀïÖ»ÊÇÎÒÈÏΪµÄ±È½Ï³£Óõ½µÄ²éÕÒ²Ù×÷£¬XPathÕâÍæÒâʵÔÚÊǺÜÇ¿´óºÜ±©Á¦¡£
»ØÍ·¿´Ê¾ÀýÎĵµxmlsample.xml£¬ÎÒÃÇ¿ÉÄÜÓöµ½ÕâÑùµÄÐèÇó£ ......
public class yzzSerialize
{
private yzzSerialize()
{ }
private static yzzCache cache = new yzzCache();
public static T GetfromXml<T>(string xmlpath, T t)
{
using (FileStream fs = new FileStream(xmlpath, FileMode.Open, FileAcces ......