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¶ÔÏóµ÷ÓÃÈκη
Ïà¹ØÎĵµ£º
#region µÃµ½ËùÓб¾µØÍøÂçÖпÉʹÓõÄSQL·þÎñÆ÷Áбí
/// <summary>
/// µÃµ½ËùÓб¾µØÍøÂçÖпÉʹÓõÄSQL·þÎñÆ÷Áбí
/// </summary>
/// <param name="p_strServerList">·þÎñÆ÷Áбí</param& ......
ÒýÓÃÃüÃû¿Õ¼ä£ºusing System.Xml
1.¼ì²éËùÒª²Ù×÷µÄxmlÎļþÊÇ·ñ´æÔÚ£º
System.IO.File.Exists(Îļþ·¾¶¼°Ãû³Æ);
2.µÃµ½xmlÎļþ£º
£¨1£©ÔÚasp.netÖпÉÒÔÕâÑùµÃµ½:
XmlDocument xmlDoc = new XmlDocument();
//µ¼ÈëxmlÎĵµ
xmlDoc.Load( Server.MapPath("xmlTesting.xml"));
//µ¼Èë×Ö·û´®
/ ......
ÔÚºÏ×÷¿ª·¢Ê±£¬C#ʱ³£ÐèÒªµ÷ÓÃC++DLL£¬µ±´«µÝ²ÎÊýʱʱ³£Óöµ½ÎÊÌ⣬ÓÈÆäÊÇ´«µÝºÍ·µ»Ø×Ö·û´®ÊÇ£¬ÏÖ×ܽáһϣ¬·ÖÏí¸ø´ó¼Ò£º
VC++ÖÐÖ÷Òª×Ö·û´®ÀàÐÍΪ£ºLPSTR,LPCSTR, LPCTSTR, string, CString, LPCWSTR, LPWSTRµÈ
µ«×ªÎªC#ÀàÐÍÈ´²»ÍêÈ«Ïàͬ¡£
Ö÷ÒªÓÐÈçϼ¸ÖÖת»»£º
½«stringתΪIntPtr£ºIntPtr System.Runtime.InteropServ ......
asp.netÓÐʱºò³£³£Ó÷þÎñÆ÷°ó¶¨¿Ø¼þÓÐЩÂé·³...
´úÂëÓÐЩÔÓ....
using System;
using System.Web.UI.WebControls;
using System.Data;
using System.Web.UI.HtmlControls;
using System.Collections.Generic;
using System.Web;
using System.Text;
namespace pub.mo
{
public class bind
{
p ......