±à¼ÍƼö: |
±¾ÎÄÀ´×Ôcnblogs
,ÎÄÕÂÖ÷Òª½éÉÜÁË.net´úÂë¹æ·¶¼ò½é£¬´úÂë¸ñʽ¹æ·¶£¬´úÂëʹÓù淶£¬Ò»Ð©³£ÓõĴúÂë¹æ·¶¹¤¾ß¡£ |
|
´úÂëÊÇÈí¼þ¿ª·¢¹ý³ÌµÄ²úÎ´úÂëµÄ×÷ÓÃÊÇͨ¹ý±àÒëÆ÷±àÒëºóÔËÐУ¬´ïµ½Ô¤ÆÚµÄЧ¹û(¹¦ÄÜ¡¢Îȶ¨ÐÔ¡¢°²È«ÐԵȵÈ)£¬¶øÁíÍâÒ»¸öÖØÒª×÷ÓÃÊǸøÈËÔĶÁ¡£¶ÔÓÚ»úÆ÷À´ËµÖ»Òª´úÂëÕýÈ·¾ÍÄܹ»ÕýÈ·µÄÔËÐгÌÐò£¬µ«ÊÇÈ˲»Í¬£¬Èç¹û´úÂë±àд»ìÂҾͻá¶Ô´úÂëÔĶÁÔì³ÉÕϰ£¬µ¼Ö´úÂëÎÞ·¨Î¬»¤£¬ÉõÖÁ»áµ¼Ö´úÂëÖØ¹¹µÈ¸ß³É±¾»î¶¯£¬ËùÒԹ淶´úÂëÊÆÔÚ±ØÐС£
.Net´úÂë¹æ·¶¼ò½é ÎÄÕ¿ªÊ¼Ìáµ½¹ý´úÂëÊǸøÈË¿´µÄ£¬´úÂë¹æ·¶µÄÄ¿µÄÔÚÓÚ´´½¨Ò»¸öͳһµÄ¹æ·¶À´±£³Ö´úÂëµÄÕû½à£¬ÕâÑùÓÐÀûÓÚÌá¸ß´úÂëµÄ¿Éά»¤ÐÔ£¬µ«³ý´ËÖ®Í⻹¿ÉÒÔ½«Ò»Ð©´úÂëµÄ×î¼Ñʵ¼ùÒ²×÷Ϊ¹æ·¶µÄÒ»²¿·Ö£¬ÕâÑù»¹¿ÉÒÔÌá¸ß´úÂëµÄÐÔÄܺͰ²È«ÐÔ¡£ Ò»°ãÀ´Ëµ.NetµÄ´úÂë¹æ·¶Ö÷ÒªÓУº´úÂë¸ñʽ¹æ·¶¡¢´úÂëʹÓù淶£¬Ç°Õß±£Ö¤´úÂë¿É¶ÁÐÔºóÕß±£Ö¤´úÂëÖ´ÐÐЧÂʺͰ²È«ÐÔ¡£
´úÂë¸ñʽ¹æ·¶ ´úÂë¸ñʽ¹æ·¶Ö÷ÒªµÄÄ¿µÄÊÇͳһ´úÂë±àд¸ñʽ£¬±ÜÃ⿪·¢ÈËÔ±¶ÀÌØµÄ´úÂë±àд·½Ê½£¬ÒÔ±ãÓÚÏîÄ¿µÄËùÓпª·¢ÈËÔ±ÄÜ¿ìËÙµÄÔĶÁÆäËûÈËÔ±¿ª·¢µÄ´úÂ룬´úÂë¸ñʽ¹æ·¶Ö÷ÒªÓÐÒÔϼ¸¸ö·½Ã棺
×¢£º³ýÒÔϹ淶Í⣬¶ÔÓÚÒ»¸ö¹¤³ÌÀ´ËµÓ¦¸Ã»¹Óй¤³Ì½á¹¹¹æ·¶(Ò²¿ÉÒÔÀí½âΪ´úÂëĿ¼½á¹¹¹æ·¶)£¬¹¤³Ì½á¹¹¹æ·¶¿ÉÄÜÒòÏîÄ¿²»Í¬¶ø²»Í¬£¬µ«ÊÇͳһ¹æ·¶¿ÉÒÔÌá¸ß´úÂë²éÕÒЧÂʺͿª·¢Ð§ÂÊ(ÍŶÓгÉÔ±²»»áÔÙÒÉ»ó´úÂëÓ¦¸Ã·ÅÄÄÀï)¡£
ÃüÃû¹æ·¶ ÃüÃû¹æ·¶Ö÷񻃾¼°ÃüÃû¿Õ¼ä¡¢ÀàÐÍ¡¢½Ó¿Ú¡¢ÊôÐÔ¡¢·½·¨¡¢±äÁ¿µÈÏà¹ØÃüÃû£¬ÆäÖ÷Òª¹æ·¶ÓУº
ʹÓÃPascal(µ¥´ÊÊ××Öĸ´óд)ÃüÃû·½Ê½¶ÔÃüÃû¿Õ¼ä¡¢ÀàÐÍ¡¢Ã¶¾ÙÀàÐÍ¡¢Ã¶¾ÙÖµ¡¢Ê¼þ¡¢ÊôÐÔ¡¢·½·¨¡¢³£Á¿½øÐÐÃüÃû¡£ Àý£ºpublic class PersonManager {}
ʹÓÃCamel()ÃüÃû·½Ê½¶Ô²ÎÊý¡¢±äÁ¿¡¢×ֶνøÐÐÃüÃû¡£ Àý£ºprivate string userName; ½ûֹʹÓÃËõд£¬³ýURL¡¢IOµÈÄÜ´ï³É¹²Ê¶µÄËõд³ýÍ⣬ʹÓÃËõд¿ÉÈ«´óд¡£ Àý£ºSystem.IO£»
½Ó¿ÚÒÔI×öΪǰ׺½øÐÐÃüÃû¡£ Àý£ºpublic interface IConvertor {}
³éÏóÀàÒÔAbstractΪǰ׺»òÕßÒÔBaseΪºó׺½øÐÐÃüÃû¡£ Àý£ºpublic abstract class PersonBase {}
Òì³£ÀàÐÍÒÔExceptionΪºó׺¡£ Àý£ºpublic class CustomException {}
ÔÚ¶ÔÈκζ«Î÷ÃüÃûʱÐèҪʹÓÃÓÐÒâÒåµÄÃû³Æ£¬²¢ÇÒ±£Ö¤µ¥´ÊƴдÕýÈ·ÒÔ¼°Óï·¨ÕýÈ·£¬±ÜÃâʹÓÃÆ´Òô(µØÃûµÈͨÓÃÆ´Òô³ýÍâ)¡£ Àý£º public string Name {get; set;} ·´Àý£º public string N {get; set;}
²¼¾Ö¹æ·¶ ²¼¾Ö¹æ·¶µÄÄ¿µÄÊÇʹ´úÂë±äµÃÕû½à£¬Ìá¸ß´úÂë¿É¶ÁÐÔ£¬ÆäÖ÷Òª¹æ·¶ÓУº
´úÂëËõ½øÎª4¸ö¿Õ¸ñ¡£ ×óÓÒ»¨À¨ºÅ±ØÐë¶À×ÔÒ»ÐУ¬À¨ºÅÄÚÈÝΪ¿Õʱ³ýÍ⣺
Àý£º
public void WriteLog(string
log)
¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡Console.WriteLine(log);
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡public void EmptyMethod(string log) {} |
À¨ºÅµÄʹÓ㺠if/for/while/doµÈ¹Ø¼ü×ÖºóÃæÓë×óÀ¨ºÅÖ±½ÓÐèÒª¼Ó¿Õ¸ñ£º if (x == 1)
ÔËËã·û×óÓÒÐèÒª¼Ó¿Õ¸ñ£º a = c + b;
µ¥ÐдúÂëÏÞÖÆ120¸ö×Ö·û£¬³¬³¤´¦Àí·½Ê½£º µÚ¶þÐÐÏà¶ÔµÚÒ»ÐÐËõ½ø4¸ö¿Õ¸ñ£¬´ÓµÚÈýÐпªÊ¼ÎÞÐèËõ½ø¡£ ÔËËã·û¼°·½·¨µ÷Óõġ°.¡±ÐèÒª¸úËæ»»ÐУ¬µ«¶ººÅ²»ÐèÒª¡£
Àý£º
WebHost.CreateDefaultBuilder(args)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡.UseStartup<Startup>()
¡¡¡¡¡¡¡¡¡¡¡¡¡¡.Build();
¡¡¡¡¡¡¡¡¡¡¡¡App.Method(a
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡+ b,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡c); |
×¢Ê͹淶 ×¢ÊÍÓÃÀ´¶Ô±àдµÄ´úÂë½øÐÐ˵Ã÷£¬°üÀ¨¹¦ÄÜ˵Ã÷ÒÔ¼°ÊµÏÖ˵Ã÷£¬ÕâÑù¿ÉÒÔ´ó´óµÄÌá¸ß³ÌÐòµÄ¿É¶ÁÐÔ£¬ÁíÍâ¹æ·¶µÄ×¢ÊÍ»¹¿ÉÒÔͨ¹ý¹¤¾ßÀ´Éú³ÉÏàÓ¦µÄAPIÎĵµ£¬C#µÄ×¢Ê͹淶ÓÐÒÔϼ¸ÖÖ£º
Àà×¢ÊÍ
Àý£º
/// <summary>
/// This is a Entity Class for Post.
/// </summary>
public class Post |
ÊôÐÔ¼°·½·¨×¢ÊÍ£º
/// <summary>
/// Get post with id
/// </summary>
/// <param name="id">post's identity</param>
/// <returns>post instance</returns>
public Post GetPostById(int id) |
´úÂëµ¥ÐÐ×¢ÊÍ£º
/this is a single
line comment |
´úÂë¶àÐÐ×¢ÊÍ£º
/*
this is comment1
this is comment2
*/ |
´úÂëʹÓù淶 ´úÂëµÄʹÓù淶£¬»òÕß˵ÊÇ´úÂë±àдµÄ×î¼Ñ¡°Êµ¼ù¡±(µ±È»ÓÅÁ¼µÄ¸ñʽ¹æ·¶Ò²ÊÇÒ»ÖÖ×î¼Ñʵ¼ù)£¬ËüÃÇÊǸù¾Ý´úÂëµÄʵÏÖ/ÔËÐÐÔÀíÒÔ¼°Ìض¨µÄÓ¦Óó¡¾°½øÐÐʵ¼ùµÄ×î¼Ñ·½°¸£¬ÕâЩ·½°¸µÄʹÓóýÁË¿ÉÒÔÌá¸ß´úÂëµÄ¿É¶ÁÐÐÍ⣬»¹¿ÉÒÔ¼õÉÙ³ÌÐòBug¡¢Ìá¸ß³ÌÐòÐÔÄܼ°°²È«ÐÔ£¬ÈçÒÔϼ¸¸ö·½Ã棺
ʹÓÃÓïÑÔÌØÐÔ this£ºÊ¹ÓÃthisÇø·ÖÀàÐÍÖеÄÊôÐÔÓë±äÁ¿¡¢¾²Ì¬³ÉÔ±£¬¿ÉÒÔÌá¸ß³ÌÐò¿É¶ÁÐÔ¡£ var£ºÊʵ±µÄʹÓÃvar¿ÉÒÔÌá¸ß¿ª·¢Ð§ÂÊÇÒ²»Ó°Ïì³ÌÐò¿É¶ÁÐÔ£¬ÈçÔÚ²»ÖªµÀ·µ»ØÖµ¾ßÌåÀàÐÍ»òÕß²»ÐèÒªÖªµÀÀàÐ͵Äʱºò¡£
·´Àý£º

×Ö·û´®ÄÚ²å(string interpolation)£º×Ö·û´®ÄÚ²åÊÇC#6.0µÄÌØÐÔ£¬Ê¹ÓÃ×Ö·û´®ÄÚ²å¿ÉÒÔÌá¸ß³ÌÐò¿É¶ÁÐÔ£º Àý£º

Òì³£ µ±³ÌÐò³öÏÖÓëÔ¤ÆÚ²»·ûʱӦ¸ÃÅ׳öÒì³£ÈóÌÐòÉÏÓδ¦Àí¡£ ¾¡¿ÉÄÜʹÓÃC#ÖÐÄÚÖõÄÒì³£ÀàÐÍ¡£ ²¶»ñÒì³£±ØÐë´¦Àí¡£ »ñȡָ¶¨Òì³£¶ø·ÇͳһʹÓÃException¡£ °²È«×¼Ôò
»ùÓÚÖ¤¾ÝµÄ°²È«ÐԺʹúÂë·ÃÎʰ²È«ÐÔÌṩ·Ç³£Ç¿´óµÄÏÔʽ»úÖÆÀ´ÊµÏÖ°²È«¡£
´ó¶àÊýÓ¦ÓóÌÐò´úÂë¾Í¿ÉÒÔʹÓÃÓÉ.NET ʵÏֵĻù´¡½á¹¹¡£ ÔÚijЩÇé¿öÏ£¬ÐèÒª¶îÍâµÄÓ¦ÓóÌÐòÌØ¶¨µÄ°²È«ÐÔ£¬»òͨ¹ýÀ©Õ¹°²È«ÏµÍ³»òͨ¹ýʹÓÃÈ«ÐÂÁÙʱ·½·¨¹¹½¨¡£
ʹÓÃ.NET Ç¿ÖÆÖ´ÐÐȨÏÞºÍÆäËûÇ¿ÖÆÔÚ´úÂëÖеģ¬Ó¦½¨Á¢ÆÁÕÏ£¬ÒÔ·ÀÖ¹¶ñÒâ´úÂë·ÃÎÊÄú²»Ï£ÍûÆä¾ßÓеÄÐÅÏ¢»òÖ´ÐÐÆäËû²»ÐèÒªµÄ²Ù×÷¡£
´ËÍ⣬±ØÐëÔÚʹÓÃÊÜÐÅÈδúÂëµÄËùÓÐÔ¤ÆÚ·½°¸ÖÐÆ½ºâ°²È«ÐԺͿÉÓÃÐÔ¡£
±¾¸ÅÊö½éÉÜ´úÂë¿ÉÒÔÓÃÓÚ´¦Àí°²È«ÏµÍ³µÄ²»Í¬·½Ê½¡£
±£»¤×ÊÔ´µÄ·ÃÎÊ
Éè¼ÆºÍ±àд´úÂëʱ£¬ÓÈÆäÊÇÔÚʹÓûòµ÷ÓÃÀ´Ô´Î´ÖªµÄ´úÂëʱ£¬ÐèÒª±£»¤ºÍÏÞÖÆ¸Ã´úÂë¶Ô×ÊÔ´µÄ·ÃÎÊ¡£ Òò´Ë£¬Çë¼ÇסÒÔÏ¿ÉÈ·±£´úÂ밲ȫµÄ·½·¨£º
²»Ê¹ÓôúÂë·ÃÎʰ²È«ÐÔ (CAS)¡£
²»Ê¹Óò¿·ÖÐÅÈεĴúÂë¡£
²»ÒªÊ¹ÓÃAllowPartiallyTrustedCallerÌØÐÔ (APTCA)¡£
²»Ê¹Óà .NET Ô¶³Ì´¦Àí¡£
²»Ê¹Ó÷ֲ¼Ê½×é¼þ¶ÔÏóÄ£ÐÍ (DCOM)¡£
²»Ê¹Óöþ½øÖƸñʽ»¯³ÌÐò¡£
×÷Ϊ°²È«±ß½ç£¬²¿·ÖÊÜÐÅÈεĴúÂë²»Ö§³Ö´úÂë·ÃÎʰ²È«ÐԺͰ²È«Í¸Ã÷µÄ´úÂë¡£ ½¨ÒéÔÚδʵʩÆäËû°²È«´ëÊ©µÄÇé¿öÏ£¬²»Òª¼ÓÔØºÍÖ´ÐÐδ֪À´Ô´µÄ´úÂë¡£
ÆäËû°²È«´ëÊ©°üÀ¨£º
ÐéÄ⻯
AppContainers
²Ù×÷ϵͳ (OS) Óû§ºÍȨÏÞ
Hyper-V ÈÝÆ÷
°²È«ÐÔ·½ÃæÊÇ·ÇÌØ¶¨´úÂë
·ÇÌØ¶¨ÓÚ°²È«ÐԵĴúÂë²»¶ÔÈκΰ²È«ÏµÍ³½øÐÐÏÔʾ´¦Àí¡£ Ëüͨ¹ýËù½ÓÊÕµÄÈκÎȨÏÞÀ´ÔËÐС£ ËäÈ»ÎÞ·¨²¶»ñÓëÊܱ£»¤µÄ²Ù×÷
£¨ÀýÈ磬ʹÓÃÎļþ¡¢ ÍøÂçµÈ£© Ïà¹ØÁªµÄ°²È«Òì³£µÄÓ¦ÓóÌÐò»áÔÚδ¾´¦ÀíµÄÒì³££¬µ«°²È«ÐÔ·½ÃæÊÇ·ÇÌØ¶¨´úÂëÈÔÀûÓð²È«¼¼ÊõÖеÄ.NET.
·ÇÌØ¶¨ÓÚ°²È«ÐԵĿâ¾ßÓÐÄãÓ¦Á˽âµÄÌØÊâÐÔÖÊ¡£ ¼ÙÉèÄãµÄ¿âÌṩʹÓÃÎļþ»òµ÷Ó÷ÇÍйܵĴúÂëµÄ API ÔªËØ¡£
Èç¹ûÄãµÄ´úÂë²»¾ßÓÐÏàÓ¦µÄȨÏÞ£¬Ëü²»»áÔËÐÐËùÊö¡£ µ«ÊÇ£¬¼´Ê¹´úÂë¾ßÓÐȨÏÞ£¬µ÷ÓÃËüµÄÈκÎÓ¦ÓóÌÐò´úÂë±ØÐë¾ßÓÐÏàͬµÄȨÏÞ²ÅÄÜÕý³£ÔËÐС£
Èç¹ûµ÷ÓôúÂëûÓÐÕýÈ·µÄȨÏÞ£¬SecurityException×÷Ϊ´úÂë·ÃÎʰ²È«¶ÑÕ»ÉóºËµÄ½á¹û½«ÏÔʾ¡£
²»ÊÇ¿ÉÖØÓÃ×é¼þµÄÓ¦ÓóÌÐò´úÂë
Èç¹ûÄãµÄ´úÂëÊÇÓÉÆäËû´úÂë²»»áµ÷ÓÃÓ¦ÓóÌÐòµÄÒ»²¿·Ö£¬°²È«ºÜ¼òµ¥£¬²»¿ÉÄÜÒªÇóÌØÊâµÄ±àÂë¡£ µ«Çë¼Çס£¬¶ñÒâ´úÂë¿ÉÒÔµ÷ÓÃÄãµÄ´úÂë¡£
´úÂë·ÃÎʰ²È«ÐÔ¿ÉÄÜ»á×èÖ¹¶ñÒâ´úÂë·ÃÎÊ×ÊÔ´£¬¶ø´ËÀà´úÂëÈÔÈ»¿ÉÒÔ¶ÁÈ¡ÄãµÄ×ֶλò¿ÉÄܰüº¬Ãô¸ÐÐÅÏ¢µÄÊôÐÔµÄÖµ¡£
´ËÍ⣬Èç¹ûÄãµÄ´úÂë½ÓÊÜÀ´×Ô Internet »òÆäËû²»¿É¿¿À´Ô´µÄÓû§ÊäÈ룬ÔòÎñ±ØÒªÐ¡ÐĶñÒâÊäÈë¡£
Íйܵ½±¾»ú´úÂëʵÏֵİü×°
ͨ³£ÔÚÕâÖÖÇé¿öÏ£¬Ä³Ð©ÓÐÓù¦ÄÜÊÇÔÚÄãÏëÒªÌṩ¸øÍйܴúÂëµÄ±¾»ú´úÂëÖÐʵÏֵġ£ Íйܰü×°Æ÷¿Éͨ¹ýʹÓÃÆ½Ì¨µ÷Óûò
COM »¥²Ù×÷ÇáËÉдÈë¡£ µ«Èç¹ûÄãÕâÑù×ö£¬°ü×°Æ÷µÄµ÷Ó÷½±ØÐë¾ßÓзÇÍйܴúÂëȨÏÞ²ÅÄܳɹ¦¡£ ÔÚĬÈϲßÂÔÏ£¬ÕâÒâζ×Å´úÂëÏÂÔØ´Ó
intranet »ò Internet ²»ÊÊÓÃÓڴ˰ü×°Æ÷¡£
¶ø²»ÊÇÊÚÓè·ÇÍйܵĴúÂëȨÏÞµÄËùÓÐÓ¦ÓóÌÐòʹÓÃÕâЩ°ü×°Æ÷£¬Ôò×îºÃ½ö¶Ô°ü×°Æ÷´úÂ뽫ÕâЩȨÏÞÊÚÓè¡£ Èç¹û»ù´¡¹¦ÄÜûÓй«¿ªÈκÎ×ÊÔ´£¬ÇÒʵÏÖͬÑùÒ²°²È«£¬Ôò°ü×°Æ÷Ö»Ðè¶ÏÑÔÆäȨÏÞ£¬Õâ¿ÉʹÈκδúÂëͨ¹ýËü½øÐе÷Óá£
µ±Éæ¼°×ÊԴʱ£¬°²È«±àÂëÓ¦¸ÃÓëÏÂÒ»½ÚÖÐËùÊöµÄ¿â´úÂë°¸ÀýÏàͬ¡£ ÒòΪ°ü×°Æ÷¿ÉÄܶÔÕâЩ×ÊÔ´¹«¿ªµ÷Ó÷½£¬ËùÒÔ×ÐϸÑéÖ¤±¾»ú´úÂëµÄ°²È«ÐÔÊDZØÒªµÄ£¬ÕâÊǰü×°Æ÷µÄÔðÈΡ£
¿â´úÂëµÄ¹«¿ªÊܱ£»¤µÄ×ÊÔ´
ÏÂÃæµÄ·½·¨ÊÇ×îÇ¿´óµÄÒò´Ë¾ßÓÐDZÔÚΣÏÕ £¨Èç¹ûÕýÈ·Ö´ÐУ© ¶Ô°²È«±àÂ룺
ÄãµÄ¿â×÷ΪÆäËû´úÂë·ÃÎÊijЩ×ÊÔ´²»¿É·ñÔò£¬¾ÍÏñ.NET ÀàÇ¿ÖÆÊµÊ©µÄ½Ó¿ÚËüÃÇʹÓõÄ×ÊÔ´µÄȨÏÞ¡£ Ö»Òª¹«¿ª×ÊÔ´£¬ÄãµÄ´úÂëÊ×ÏȾͱØÐëÒªÇóÏàÓ¦×ÊÔ´µÄȨÏÞ£¨Ò²¾ÍÊÇ˵£¬±ØÐëÖ´Ðа²È«¼ì²é£©£¬È»ºóͨ³£¶ÏÑÔÆäȨÏÞÀ´Ö´ÐÐʵ¼ÊµÄ²Ù×÷¡£
´úÂëʹÓù淶ÊÇÒ»¸ö¹ã·ºµÄ»°Ì⣬³ýÁËÒÔÉÏһЩͨÓõĹ淶֮Í⣬»¹¿ÉÒÔ¶ÔOOPÒÔ¼°¿ª·¢¿ò¼ÜµÈ·½Ãæ¸ù¾Ýʵ¼ÊÇé¿öÖÆ¶¨¹æÔò£¬Ê¹ÓÃͳһµÄ¹æ·¶½øÐпª·¢¿ÉÒÔÈôúÂë±äµÃ¸ü¼ÓÈÝÒ×¹ÜÀí¡£
³£ÓõĴúÂë¹æ·¶¹¤¾ß Visual Studio VSÊǷdz£Ç¿´óµÄIDE£¬ÔÚÖڶ๦ÄÜÖе±È»²»»áȱÉÙ¶Ô´úÂë¹æ·¶µÄÖ§³Ö¡£
StyleCop StyleCopÊÇÒ»¸ö´úÂë·ÖÎö¹¤¾ß£¬StyleCopÓÐÁ½¸ö°æ±¾StyleCopºÍStyleCop
Analyzers£¬Ç°ÕßÊÊÓÃÓÚVS2010-VS2017ËùÓа汾£¬ËüµÄÔÀíÊÇÔÚ±àÒëʱ¶Ô´úÂë½øÐзÖÎö£¬¶øStyleCop
Analyzers½öÖ§³ÖVS2015+,Ëü»ùÓÚ.NetµÄroslyn±àÒë¿ò¼ÜʵÏֵģ¬ËüÖ§³Ö¿ª·¢Ê±¶Ô´úÂë½øÐÐʵʱ·ÖÎö(²»ÔÙÐèÒªµÈ±àÒë)¡£ StyleCop StyleCop Analyzers
Resharper ResharperÊÇjetbrains¹«Ë¾¿ª·¢µÄÒ»¸öVSÊշѲå¼þ£¬Ëü²»½ö°üº¬ÁË´úÂë·ÖÎö£¬»¹¾ß±¸ÁË´úÂëÉú³É¡¢±àÒë¡¢²âÊÔ¡¢µ÷ÊԵȹ¦ÄÜ¡£ VS2017ÓëResharperµÄ¹¦ÄܱȽÏ
EditConfig EditConfigÊÇÒ»¸ö¿ç±à¼Æ÷/IDEµÄ´úÂë·ç¸ñÒ»ÖÂÐÔά»¤¹¤¾ß(ÐÒé/²å¼þ)£¬ÏÖÔÚVS2017ÒѾ֧³ÖEditConfig
DocFx DocFxÊÇÒ»¸öAPIÎĵµÉú³É¹¤¾ß£¬Ê¹ÓÃDocFx¿ÉÒÔ¿ìËٵĴһ¸ö³ÌÐòʹÓᢼ°APIÎĵµ£¬Ñùʽ¿É²Î¿¼£º
DocFx½Ì³Ì
APIÎĵµ
С½á ±¾ÎÄÖ÷Òª½éÉÜÁËC#Öеıà³Ì¹æ·¶£¬²¢½«¹æ·¶·ÖΪÁËÁ½¸öÀàÐÍ£¬·Ö±ðÊǸñʽ¹æ·¶ºÍʹÓù淶£¬Ç°ÕßÖ÷ҪĿµÄÊÇÈôúÂë¸ñʽ´ïµ½Ò»ÖÂÐÔ£¬ºóÕßÔòÊǹ涨ÁË´úÂëµÄʹÓ÷½·¨£¬×î´ó»¯µÄ¼õÉÙ²»Í¬¾Ñ鿪·¢ÈËÔ±±àд´úÂëµÄÖÊÁ¿£¬Ìá¸ß³ÌÐòµÄ¿É¶ÁÐÔ¡¢ÐÔÄÜ¡¢Îȶ¨ÐÔ¼°°²È«ÐÔ¡£ ÔÚ¿ª·¢¹ý³ÌÖбà³Ì¹æ·¶ÊÇÒ»Ïî·Ç³£ÖØÒªµÄ¹¤×÷£¬Ëü¹ØÏµ×Å´úÂëÊÇ·ñÄܹ»±»Î¬»¤£¬Ìá¸ß¿Éά»¤ÐÔ¿ÉÒÔ¼õÉÙÍŶӳÉÔ±Ôö¼õ¡¢¹¦ÄÜÐÂÔö¡¢´úÂë±ä¸üµÈ´øÀ´µÄ¸ß³É±¾¡£ ±à³Ì¹æ·¶µÄÖÆ¶¨²¢²»¼òµ¥£¬²»Í¬µÄÈ˶Աà³Ì¹æ·¶Ò²Óв»Í¬µÄÀí½â£¬ÌرðÊÇ´úÂëµÄʹÓù淶£¬ËüÒªÇóÖÆ¶¨Õß±ØÐëÒªÓзḻµÄ´úÂ뿪·¢ÒÔ¼°´úÂëÓÅ»¯¾Ñ顣ΪÁËÈ·±£¹æ·¶Äܹ»Ë³ÀûµÄÖÆ¶¨£¬¸öÈËÈÏΪÐèÒªÒÔÏÈÖÆ¶¨ºóÐ޸ĵķ½Ê½½øÐУ¬ÏÈÖÆ¶¨ÊÇΪÁ˲»µ¢Î󿪷¢¹¤×÷£¬ÔÚ¿ª·¢¹¤×÷¿ªÊ¼Ö®Ç°Öƶ¨ºÃ¹æ·¶¼´¿É°´¹æ·¶¿ª·¢£¬ºóÐ޸쬯äÒ»ÊÇÔÚ¿ª·¢¹ý³ÌÖз¢ÏÖ²»ºÏÀíµÄµØ·½½øÐÐÐÞ¸Ä(¿Ú˵ÎÞÆ¾£¬Êµ¼ù³öÕæÀí)£¬ÁíÍâÊÇËæ×ÅÍŶÓÄÜÁ¦µÄÌá¸ß£¬¿ÉÒÔ×ܽá¸ü¶àµÄ´úÂëʹÓÃ×î¼Ñʵ¼ù¡£
ÎÄÕµÄ×îºó½éÉÜÁËһЩ³£ÓõĹ淶¹¤¾ß. |