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¶ÔÏóµ÷ÓÃÈκη
Ïà¹ØÎĵµ£º
ÔÚ System.Security.Cryptography ÖУ¬ÎÒÃÇ¿ÉÒÔ¿´µ½ÓÐÐí¶àÀ࣬ÓÐЩÀ໹ºÜÏàËÆ£¬±ÈÈ磺
System.Security.Cryptography.SHA1
System.Security.Cryptography.SHA1Managed
System.Security.Cryptography.SHA1CryptoServiceProvider
ÕâÈý¸öÀàÓÐʲô¹ØÏµÄØ£¿
SHA1
ÊdzéÏóÀà
£¬SHA1Managed
ºÍ SHA1CryptoServiceProvider ......
using System;
using System.Web;
namespace pub.mo
{
public class js
{
private js() { }
private static string scr_j1 = "<mce:script type=\"text/javascript\"><!--
";
private static string scr_j2 = "
// --></mce:script>";
/// <summa ......
SingletonģʽµÄʵÏÖ
SingletonģʽµÄʵÏÖ»ùÓÚÁ½¸öÒªµã£º
1£©²»Ö±½ÓÓÃÀàµÄ¹¹Ô캯Êý£¬¶øÁíÍâÌṩһ¸öPublicµÄ¾²Ì¬·½·¨À´¹¹ÔìÀàµÄʵÀý¡£Í¨³£Õâ¸ö·½·¨È¡ÃûΪInstance¡£Public±£Ö¤ÁËËüµÄÈ«¾Ö¿É¼ûÐÔ£¬¾²Ì¬·½·¨±£Ö¤Á˲»»á´´½¨³ö¶àÓàµÄʵÀý¡£
2£©½«ÀàµÄ¹¹Ô캯ÊýÉèΪPrivate£¬¼´½«¹¹Ô캯Êý"Òþ²Ø"ÆðÀ´£¬ÈÎºÎÆóͼʹÓù¹Ô캯Êý´´½¨Ê ......
ÎÞÂÛÔÚcmpp»òsgipÖУ¬¶¼»áÓöµ½¶ÌÐűàÂë¸ñʽת»»µÄÎÊÌâ¡£
ÒòΪÏÖÔÚ¶ÌÐűàÂë³£ÓõĸñʽÓÐÈýÖÖ£º0£ºASCII´®£¬8£ºUCS2±àÂ룬15£ºº¬GBºº×Ö¡£ÔÚ·¢ËÍ»ò½ÓÊÕ¶ÌÐÅʱ£¬¶¼»áÓõ½ÏàÓ¦µÄ±àÂëת»»¡£ÈçÒÔÏ´úÂ룺
public static String Decode(Byte[] buf, int StartIndex, int Length, CODING Coding)
{
......