c# 4.0 ÐÂÌØÐÔ dynamic
Ç°¶Îʱ¼ä¿´¹ýһЩ¹ØÓÚdynamicÕâ¸öC#4ÖеÄÐÂÌØÐÔ£¬¿´µ½ÓÐЩÅóÓÑÈÏΪdynamicµÄ±×´óÓÚÀû£¬ÈçÎÞ·¨Ê¹ÓñàÒëÆ÷ÖÇÄÜÌáʾ£¬ÎÞ·¨ÔÚ±àÒëʱ×ö
¾²Ì¬ÀàÐͼì²é£¬ÐÔÄܲîµÈµÈ¡£Òò´ËÔÚÕâƪÎÄÕÂÖÐÎÒ½«¾ÍÕâЩÎÊÌâÀ´¶Ôdynamic×öÒ»¸ö½ÏÏêϸµÄ½éÉÜ£¬Ï£Íûͨ¹ýÕâƪÎÄÕ£¬ÄÜʹ´ó¼Ò¶Ôdynamic¹Ø¼ü×ÖÓÐ
¸ö¸üÉîÈëµÄÈÏʶ¡£
dynamic½éÉÜ
ÏàÐźܶàÈËÓ¦¸Ã¶¼ÒѾ¶ÔAnders HejlsbergÔÚPDC2008ÉÏËù×öµÄÄÇƪ”The Future of C#”(×¢1)
¶¼ÓÐËùÁ˽âÁË£¬µ±Ê±µÄÕâƪÑݽ²ÒѾ½éÉÜÁËC#4.0µÄһЩ×îÖØÒªµÄÌØÐÔ¡£AndersÌáµ½C#µÄδÀ´Ê±ºòÖ¸³öC#4.0µÄÌصãÊǶ¯Ì¬±à³Ì£¬ËûͬʱҲÁоÙÁË
ºÜ¶àÔÚ4.0ÖйØÓÚ¶¯Ì¬±à³ÌµÄÀý×Ó£¬ÕâÀïÎÒ¾ßÌå½²Ò»½²ËûÊ×ÏÈÌáµ½µÄdynamic¹Ø¼ü×Ö¡£
Ìáµ½dynamic£¬ÎÒÊ×ÏÈÏëµ½µÄÊÇvar¹Ø¼ü×Ö¡£ÊÂʵÉÏ£¬µ±varÔÚC#3.0ÖиոճöÏÖµÄʱºò¾ÍÒýÆðÁËһЩÈ˵ÄÖÊÒÉ£¬ºóÀ´Î¢Èí½âÊÍvarÖ»ÊÇÒþ
º¬ÀàÐÍÉùÃ÷·û£¬²¢ÇÒÖ»ÄÜÓÃ×÷¾Ö²¿±äÁ¿£¬ËüÆäʵÈÔÈ»ÊÇÇ¿ÀàÐÍ£¬Ö»²»¹ýÊDZàÒëÆ÷Óɳõʼ»¯½á¹ûÍƶ϶øÀ´£¬ËùÒÔ¶ÔÕâ¸ö±äÁ¿ÈÔÈ»¿ÉÒÔ¿ÉÒÔʹÓÃVSµÄÖ»ÄÜÌáʾ¡£ÏÖÔÚ
dynamicÔòÕæÕýÍù¶¯Ì¬ÌØÐÔÂõ½øÁËÒ»´ó²½£¬¸ù¾ÝAndersµÄ½âÊÍ£¬dynamicÊÇÖ¸¶¯Ì¬µÄ¾²Ì¬ÀàÐÍ£¬Ò²¾ÍÊÇ˵Ëü±¾ÖÊÉÏÈÔÈ»ÊǾ²Ì¬ÀàÐÍ£¬Ö»²»¹ýËü¸æ
Ëß±àÒëÆ÷ºöÂÔ¶ÔËüµÄ¾²Ì¬ÀàÐͼì²é£¬Ëü»áÔÚÔËÐÐʱ²Å½øÐÐÀàÐͼì²é£¬Ëü¿ÉÒÔÓ¦ÓÃÔÚ»ù±¾ÉÏËùÓеÄC#ÀàÐÍÉÏÃ棬Èç·½·¨£¬²Ù×÷·û£¬Ë÷ÒýÆ÷£¬ÊôÐÔ£¬×ֶΣ¬ËüÆäʵÊÇͨ
¹ýͳһµÄ·½Ê½À´µ÷Ó÷½·¨¡¢ÊôÐԵȲÙ×÷¡£
dynamicÖ÷ÒªÓÃÓëÐèÒªÓëÍâ½ç(COM,DLR,HTML
DOM,XMLµÈ)µÄ½»»¥µÄ³¡ºÏ£¬ÔÚÕâЩʱºò£¬ÄãºÜ¿ÉÄܲ»ÄÜÈ·¶¨ÕâЩ¶ÔÏóµÄ¾ßÌåÀàÐͶø½ö½öÖªµÀËüµÄһЩÊôÐÔ£¬Èç·½·¨µÈ£¬Òò´ËÕâЩʱºòÄã½ö½ö¸æËß±àÒëÆ÷ÄãÐè
ÒªÔÚ³ÌÐòÔËÐÐÕâÀïÖ´ÐÐÕâЩ·½·¨£¬ÖÁÓÚ²Ù×÷¶ÔÏóÊÇʲô£¬Äã¿ÉÄܲ¢²»¹ØÐÄ¡£Õâ¸öʱºò£¬¾²Ì¬ÀàÐÍÎÞ·¨°ïÄã½â¾öÎÊÌ⣬ÒòΪËüÃÇÊÇÔÚ±àÒëʱ¾ÍÒѾ¾ö¶¨Á˵ģ¬·´ÉäËäÈ»
ÄÜ×ö´ó£¬µ«±Ï¾¹Ì«Âé·³£¬¶øÇÒЧÂʽϵ͡£Òò´ËdynamicÊÊʱµÄ³öÏÖÁË£¬ËüÓñàÒëʱÀàÐͼì²éȱʧµÄ´ú¼ÛÀ´ÊµÏÖÈóÌÐòÔ±¿´ÆðÀ´ºÜ¸É¾»µÄ´úÂë¡£
dynamicµÄÉùÃ÷ºÍʹÓúܼòµ¥£¬¸újavascriptÖеÄvar»ù±¾ÊÇÒ»Öµġ£ÐèҪעÒâµÄÊÇ£¬ÔÚ±àÒë´úÂë֮ǰÎÒÃÇÊ×ÏÈÐèÒª°²×°VS
2010 Beta2»òVisual C# Express 2010£¬ÎÒÕâÀï°²×°µÄÊÇC# Express(×¢2)¡£e.g.´úÂë1:
class Program{
static void main()
{
dynamic a=7;
a.Error=”Error”;
a=”Test”;
a.Run();
}
}
Õâ¶Î´úÂë¿ÉÒÔͨ¹ý±àÒ룬µ«ÎÞ·¨ÔËÐС£C#±àÒëÆ÷ÔÊÐíÄã¶Ôa¶ÔÏóµ÷ÓÃÈκη
Ïà¹ØÎĵµ£º
Ê×ÏÈÁ˽âÒ»ÏÂʲôÊÇQname
ÏÂÃæÊÇһƪдµÄ±È½ÏºÃµÄ¹ØÓÚQnameµÄ½éÉÜ£º
http://blog.csdn.net/fbysss/archive/2007/06/24/1664076.aspx
¿É¼ûQnameÖ÷ÒªÊÇ´¦ÀínamesapceµÄ£¬ÊÇÖ¸¾ßÓÐÌض¨Ç°×ºµÄxml element¡£¶øÇÒQname¾ÍÊÇQualifiedNameµÄËõд£¬ËùÒÔQnameÔÚC#ÖжÔÓ¦µÄÓ¦¸ÃÊÇXmlQualifiedNameÕâ¸öÀà ......
н¨Ò»¸öרÃÅÓÃÀ´´´½¨ÑéÖ¤ÂëͼƬµÄÒ³ÃæValidateCode.aspx
ËüµÄºǫ́csÎļþ´úÂëÈçÏ£º
PageLoad
¸´ÖÆ´úÂë ´úÂëÈçÏÂ:
private void Page_Load(object sender, System.EventArgs e)
{
string checkCode = CreateRandomCode(4);
Session["CheckCode"] = checkCode;
CreateImage(checkCode);
}
ÆäÖÐCreateRand ......
<@Aattention Content="±¾BlogÔ´´ÎÄÕ£¬×ªÔØ»òÒýÓÃÇë×¢Ã÷תÔØ"
from="Robby.cnblogs.com"@>
ÓÉÓÚ×Ô¼ºµÄËÑË÷ÒýÇæÖÐ×öµ½ÁËÕâÒ»¿éÄÚÈÝ£¬ËùÒÔ½ñÌì˵˵ÈçºÎץȡÍøÒ³Êý¾Ý¡¢·ÖÎö²¢ÇÒÈ¥³ýHtml±êÇ©£¬¸ø´ó¼ÒÌṩһ¸ö²Î¿¼¡£ÎÒµÄƽ̨ÊÇVisual
Studio2005£¬C#¡£
& ......
Ö±½Ó·â×°³ÉÒ»¸öÀàµÄ£¬ÓÃÆðÀ´»¹Í¦·½±ãµÄ
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text ......
ÔÚºÏ×÷¿ª·¢Ê±£¬C#ʱ³£ÐèÒªµ÷ÓÃC++DLL£¬µ±´«µÝ²ÎÊýʱʱ³£Óöµ½ÎÊÌ⣬ÓÈÆäÊÇ´«µÝºÍ·µ»Ø×Ö·û´®ÊÇ£¬ÏÖ×ܽáһϣ¬·ÖÏí¸ø´ó¼Ò£º
VC++ÖÐÖ÷Òª×Ö·û´®ÀàÐÍΪ£ºLPSTR,LPCSTR, LPCTSTR, string, CString, LPCWSTR, LPWSTRµÈ
µ«×ªÎªC#ÀàÐÍÈ´²»ÍêÈ«Ïàͬ¡£
Ö÷ÒªÓÐÈçϼ¸ÖÖת»»£º
½«stringתΪIntPtr£ºIntPtr System.Runtime.InteropServ ......