Note
ãã®ããŒãžã«ã¢ã¯ã»ã¹ããã«ã¯ãæ¿èªãå¿ èŠã§ãã ãµã€ã³ã€ã³ãŸãã¯ãã£ã¬ã¯ããªã®å€æŽã詊ãããšãã§ããŸãã
ãã®ããŒãžã«ã¢ã¯ã»ã¹ããã«ã¯ãæ¿èªãå¿ èŠã§ãã ãã£ã¬ã¯ããªã®å€æŽã詊ãããšãã§ããŸãã
.NET ã³ãŒãåæã«ã¯ãã³ãŒãã®å質åäžãç®çãšããèŠåãçšæãããŠããŸãã èŠåã¯ããã¶ã€ã³ãã°ããŒããªãŒãŒã·ã§ã³ãããã©ãŒãã³ã¹ãã»ãã¥ãªãã£ãªã©ã®åºåã«åé¡ãããŠããŸãã ç¹å®ã®èŠå㯠.NET API ã®äœ¿çšã«åºæã§ãããä»ã®èŠåã¯äžè¬çãªã³ãŒãã®å質ã«é¢ãããã®ã§ãã
èŠåã®ã€ã³ããã¯ã¹
次ã®è¡šã«ãã³ãŒãå質åæèŠåã®äžèЧã瀺ããŸãã
| èŠå ID ãšèŠå | Description |
|---|---|
| CA1000:ãžã§ããªãã¯åã®éçã¡ã³ããŒã宣èšããŸãã | ãžã§ããªãã¯åã®éçã¡ã³ããŒãåŒã³åºããšãã«ã¯ããã®åã®ååŒæ°ãæå®ããå¿ èŠããããŸãã æšè«ããµããŒãããªããžã§ããªã㯠ã€ã³ã¹ã¿ã³ã¹ ã¡ã³ããŒãåŒã³åºããšãã«ã¯ããã®ã¡ã³ããŒã«ååŒæ°ãæå®ããå¿ èŠããããŸãã ãã® 2 ã€ã®å ŽåãååŒæ°ãæå®ãããšãã«äœ¿çšãããæ§æã¯ç°ãªããŸãããæ··åãããå¯èœæ§ããããŸãã |
| CA1001:ç Žæ£å¯èœãªãã£ãŒã«ããææããåã¯ãç Žæ£å¯èœã§ãªããã°ãªããŸãã | ã¯ã©ã¹ã System.IDisposable åã§ããã€ã³ã¹ã¿ã³ã¹ ãã£ãŒã«ãã宣èšããã³å®è£ ããŠããŸãããIDisposable ãå®è£ ããŠããŸããã IDisposable ãã£ãŒã«ãã宣èšããã¯ã©ã¹ã¯éæ¥çã«ã¢ã³ãããŒãž ãªãœãŒã¹ãææããŠãããããIDisposable ã€ã³ã¿ãŒãã§ã€ã¹ãå®è£ ããå¿ èŠããããŸãã |
| CA1002:ãžã§ããªã㯠ãªã¹ããå ¬éããŸãã | System.Collections.Generic.List<(Of <(T>)>) ã¯ç¶æ¿ã§ã¯ãªãããã©ãŒãã³ã¹ãç®çãšãããžã§ããªã㯠ã³ã¬ã¯ã·ã§ã³ã§ãã ãã®ãããList ã«ã¯ä»®æ³ã¡ã³ããŒã¯å«ãŸããŸããã 代ããã«ãç¶æ¿ãç®çãšãããžã§ããªã㯠ã³ã¬ã¯ã·ã§ã³ãå ¬éããå¿ èŠããããŸãã |
| CA1003:æ±çšã€ãã³ã ãã³ãã©ãŒã®ã€ã³ã¹ã¿ã³ã¹ã䜿çšããŸã | åã« void ãè¿ãããªã²ãŒããå«ãŸããŠãããããªã²ãŒãã®ã·ã°ããã£ã« 2 ã€ã®ãã©ã¡ãŒã¿ãŒ (1 ã€ã¯ãªããžã§ã¯ãããã 1 ã€ã¯ EventArgs ã«å²ãåœãŠå¯èœãªå) ãå«ãŸããå å«ã¢ã»ã³ããªã®å¯Ÿè±¡ã Microsoft .NET Framework 2.0. ã§ãã |
| CA1005:ãžã§ããªãã¯åã§ãã©ã¡ãŒã¿ãŒã䜿çšããããªãã§ãã ãã | ãžã§ããªãã¯åã«å«ãŸããåãã©ã¡ãŒã¿ãŒãå¢ããã°å¢ããã»ã©ãããããã®åãã©ã¡ãŒã¿ãŒã衚ãæå³ã調ã¹ãããšãèŠããããšãé£ãããªããŸãã éåžžãList<T> ã®ããã«åãã©ã¡ãŒã¿ãŒã 1 ã€ã®å ŽåããDictionary<TKey, TValue> ã®ããã«åãã©ã¡ãŒã¿ãŒã 2 ã€ã®å Žåãæå³ã¯æç¢ºã§ãã ããããåãã©ã¡ãŒã¿ãŒã 3 ã€ä»¥äžã«ãªããšãã»ãšãã©ã®ãŠãŒã¶ãŒã«ã¯æå³ãææ¡ããããšãå°é£ã«ãªããŸãã |
| CA1008:Enums 㯠0 å€ãå«ãã§ããªããã°ãªããŸãã | åæåãããŠããªãåæåã®æ¢å®å€ã¯ãä»ã®å€åãšåæ§ã«ããŒãã§ãã ãã©ã°ã§ã¯ãªã屿§ãä»ããåæåã§ã¯ããŒãã®å€ã䜿çšããŠã¡ã³ããŒãå®çŸ©ããå¿ èŠããããŸããããã¯ãæ¢å®å€ãæå¹ãªåæå€ã«ããããã§ãã FlagsAttribute 屿§ãé©çšããåæåã§ãŒãå€ã®ã¡ã³ããŒãå®çŸ©ããå Žåãååã "None" ã«ããŠãåæåã«èšå®æžã¿ã®å€ããªãããšã瀺ããŸãã |
| CA1010:ã³ã¬ã¯ã·ã§ã³ã¯ããžã§ããªã㯠ã€ã³ã¿ãŒãã§ã€ã¹ãå®è£ ããªããã°ãªããŸãã | ã³ã¬ã¯ã·ã§ã³ã®æäœæ§ãæ¡å ããããã«ããžã§ããªã㯠ã³ã¬ã¯ã·ã§ã³ ã€ã³ã¿ãŒãã§ã€ã¹ã® 1 ã€ãå®è£ ããŸãã ããã«ãããã³ã¬ã¯ã·ã§ã³ã䜿çšããŠãžã§ããªã㯠ã³ã¬ã¯ã·ã§ã³åãèšå®ã§ããŸãã |
| CA1012: æœè±¡åã«ã¯ãããªã㯠ã³ã³ã¹ãã©ã¯ã¿ãŒãå«ããªã | æœè±¡åäžã®ã³ã³ã¹ãã©ã¯ã¿ãŒã¯ã掟çåããã®ã¿åŒã³åºãããšãã§ããŸãã ãããªã㯠ã³ã³ã¹ãã©ã¯ã¿ãŒã§åã®ã€ã³ã¹ã¿ã³ã¹ãäœæãããæœè±¡åã®ã€ã³ã¹ã¿ã³ã¹ã¯èªåã§äœæã§ããªãããããããªã㯠ã³ã³ã¹ãã©ã¯ã¿ãŒãå«ãŸããæœè±¡åã®ãã¶ã€ã³ã¯äžé©åã«ãªããŸãã |
| CA1014:ã¢ã»ã³ããªã« CLSCompliantAttribute ãèšå®ããŸã | å ±éèšèªä»æ§ (CLS) ã«ã¯ãååä»ãã®å¶çŽãããŒã¿åãããã³èŠåãå®çŸ©ãããŠããŸããã¢ã»ã³ããªãè€æ°ã®ããã°ã©ãã³ã°èšèªã§äœ¿çšããå Žåããã®ä»æ§ã«æºæ ããå¿ èŠããããŸãã ãã¹ãŠã®ã¢ã»ã³ããªã« CLSCompliantAttribute ã䜿çšããŠãCLS ãžã®æºæ ãæç€ºããããšããå§ãããŸãã ãã®å±æ§ã䜿çšãããŠããªãã¢ã»ã³ããªã¯ãCLS ã«æºæ ããŸããã |
| CA1016:ã¢ã»ã³ããªã« AssemblyVersionAttribute ãèšå®ããŸã | .NET ã§ã¯ãããŒãžã§ã³çªå·ã䜿çšããŠã¢ã»ã³ããªãäžæã«èå¥ããå³å¯ãªååãæã€ã¢ã»ã³ããªã®åã«ãã€ã³ãããŸãã ããŒãžã§ã³çªå·ã¯ãããŒãžã§ã³ãšçºè¡è ã®ããªã·ãŒãšå ±ã«äœ¿çšãããŸãã æ¢å®ã§ãã¢ããªã±ãŒã·ã§ã³ã¯ããã«ããããã¢ã»ã³ããªã®ããŒãžã§ã³ã§ã®ã¿å®è¡ãããŸãã |
| CA1017:ã¢ã»ã³ããªã« ComVisibleAttribute ãèšå®ããŸã | ComVisibleAttribute 屿§ã«ãã£ãŠãCOM ã¯ã©ã€ã¢ã³ããããããŒãžã ã³ãŒãã«ã¢ã¯ã»ã¹ããæ¹æ³ã決ãŸããŸãã é©åãªèšèšã§ã¯ãã¢ã»ã³ããªã COM å¯èŠæ§ãæç€ºçã«æå®ããããšãæ±ããããŸãã COM å¯èŠæ§ã¯ãã¢ã»ã³ããªå šäœã«å¯ŸããŠèšå®ã§ãããã®åŸãåã ã®åããã³åã¡ã³ããŒããšã«ãªãŒããŒã©ã€ãã§ããŸãã ãã®å±æ§ããªãå Žåãã¢ã»ã³ããªã®ã³ã³ãã³ã㯠COM ã¯ã©ã€ã¢ã³ãããåç §ã§ããŸãã |
| CA1018:屿§ã AttributeUsageAttribute ã«èšå®ããŸã | ã«ã¹ã¿ã 屿§ãå®çŸ©ããå ŽåãAttributeUsageAttribute ã䜿çšããŠããŒã¯ããã«ã¹ã¿ã 屿§ãé©çšã§ãããœãŒã¹ ã³ãŒãã®äœçœ®ã瀺ããŸãã 屿§ã®æå³ãšçšéã«ãã£ãŠãã³ãŒãå ã®æå¹ãªäœçœ®ã決ãŸããŸãã |
| CA1019:屿§åŒæ°ã«ã¢ã¯ã»ãµãŒãå®çŸ©ããŸã | 屿§ã§ã¯ã察象ã«é©çšãããšãã«å¿ ãæå®ããå¿ é ã®åŒæ°ãå®çŸ©ã§ããŸãã ãã®åŒæ°ã¯ãã³ã³ã¹ãã©ã¯ã¿ãŒã«äœçœ®æå®ãã©ã¡ãŒã¿ãŒã§å±æ§ãæå®ã§ããããã«ãªããããäœçœ®æå®åŒæ°ãšãåŒã°ããŸãã å¿ é ã®ãã¹ãŠã®åŒæ°ã«ã€ããŠã察å¿ããèªã¿åãå°çšã®ããããã£ã屿§ã§èŠå®ããå¿ èŠããããŸããããã¯ãåŒæ°å€ãå®è¡æã«ååŸã§ããããã«ããããã§ãã ãŸãã屿§ã§ã¯ãªãã·ã§ã³ã®åŒæ°ãå®çŸ©ã§ããŸããããã¯ååä»ãåŒæ°ãšãåŒã°ããŸãã ãã®åŒæ°ã¯ãååã§ã³ã³ã¹ãã©ã¯ã¿ãŒã«å±æ§ãæå®ãããšãã«äœ¿çšãããŸãããŸãã察å¿ããèªã¿åã/æžã蟌ã¿ããããã£ãå¿ èŠã§ãã |
| CA1021: out ãã©ã¡ãŒã¿ãŒã䜿çšããŸãã | (out ãŸã㯠ref ã䜿çšãã) åã®åç §æž¡ãã«ã¯ããã€ã³ã¿ãŒã®äœ¿çšçµéšãå€åãšåç §åã®éãã®çè§£ãããã³è€æ°ã®æ»ãå€ãæã€ã¡ãœããã®åŠçãå¿ èŠã§ãã ãŸããout ãã©ã¡ãŒã¿ãŒãš ref ãã©ã¡ãŒã¿ãŒã®éãã¯ããŸãçè§£ãããŠããŸããã |
| CA1024:é©åãªå Žæã«ããããã£ã䜿çšããŸã | ãããªã㯠ã¡ãœãããŸãã¯ãããã¯ã ã¡ãœããã«ã"Get" ã§å§ãŸãååãä»ãããããã©ã¡ãŒã¿ãŒã¯äœ¿çšãããŠããŸããããŸããé åã§ã¯ãªãå€ãè¿ããŸãã ãã®ã¡ãœããã¯ãããããã£ã«å€æŽã§ããå¯èœæ§ããããŸãã |
| CA1027: FlagsAttribute ã§åæå€ãããŒã¯ããŸã | åæåã¯ãé¢é£ããååä»ã宿°ãè€æ°å®çŸ©ãããå€åã§ãã ååä»ã宿°ãææã«çµåã§ããå Žåãåæåã« FlagsAttribute ãé©çšããŸãã |
| CA1028:åæã¹ãã¬ãŒãžã¯ Int32 ã§ãªããã°ãªããŸãã | åæåã¯ãé¢é£ããååä»ã宿°ãè€æ°å®çŸ©ãããå€åã§ãã æ¢å®ã§ãSystem.Int32 ããŒã¿åã¯ã宿°å€ãæ ŒçŽããããã«äœ¿çšãããŸãã ãã®åºã«ãªãåã倿Žã§ããå Žåã§ããã»ãšãã©ã®å Žåã倿Žããå¿ èŠã¯ãªããæšå¥šããããŸããã |
| CA1030:é©åãªå Žæã«ã€ãã³ãã䜿çšããŸã | ãã®èŠåã§ã¯ãéåžžã¯ã€ãã³ãã«äœ¿çšãããååãæã€ã¡ãœãããæ€åºããŸãã æç€ºçã«å®çŸ©ãããç¶æ å€åã«å¿çããŠã¡ãœãããåŒã³åºãããå Žåãã¡ãœããã¯ã€ãã³ã ãã³ãã©ãŒããåŒã³åºãå¿ èŠããããŸãã ã¡ãœãããåŒã³åºããªããžã§ã¯ãã¯ãã¡ãœãããçŽæ¥åŒã³åºãã®ã§ã¯ãªããã€ãã³ããçºçãããå¿ èŠããããŸãã |
| CA1031:äžè¬çãªäŸå€ã®çš®é¡ã¯ãã£ããããŸãã | æ±çšçãªäŸå€ã¯ãã£ããããªãã§ãã ããã ããå ·äœçãªäŸå€ããã£ããããããæ±çšçãªäŸå€ã catch ãããã¯ã®æåŸã®ã¹ããŒãã¡ã³ãã§ã¹ããŒãçŽããŸãã |
| CA1032:æšæºäŸå€ã³ã³ã¹ãã©ã¯ã¿ãŒãå®è£ ããŸã | ã³ã³ã¹ãã©ã¯ã¿ãŒãå®å šã«å®£èšããŠããªããšãäŸå€ãæ£ããåŠçããã®ãå°é£ã«ãªããŸãã |
| CA1033:ã€ã³ã¿ãŒãã§ã€ã¹ ã¡ãœããã¯ãååã«ãã£ãŠåŒã³åºãå¯èœã§ãªããã°ãªããŸãã | ã·ãŒã«ãããŠããªãå€éšããåç §ã§ããåã«ãã£ãŠããããªã㯠ã€ã³ã¿ãŒãã§ã€ã¹ãæã€ã¡ãœãããæç€ºçã«å®è£ ããŠããŸãããŸããåãååãæã€å€éšããåç §ã§ãã代æ¿ã®ã¡ãœããããããŸããã |
| CA1034:å ¥ãåã«ãããåãåç §å¯èœã«ããããšã¯ã§ããŸãã | å ¥ãåã«ãããåãšã¯ãå¥ã®åã®ã¹ã³ãŒãå ã§å®£èšãããåã®ããšã§ãã å ¥ãåã«ãããåã¯ãå å«åã®ãã©ã€ããŒãå®è£ ã®è©³çްãã«ãã»ã«åãããšãã«äŸ¿å©ã§ãã ãã®ãããªçšéãªã®ã§ãå ¥ãåã«ãããåã¯å€éšããåç §ã§ããªãããã«ããŸãã |
| CA1036:æ¯èŒå¯èœãªåã§ã¡ãœããããªãŒããŒã©ã€ãããŸã | ãããªãã¯åãŸãã¯ãããã¯ãåã§ System.IComparable ã€ã³ã¿ãŒãã§ã€ã¹ãå®è£ ããŠããŸãã ããã«ãã£ãŠãObject.Equals ã¯ãªãŒããŒã©ã€ããããŸããããŸãã"çãã"ã"çãããªã"ã"æªæº"ã"ãã倧ãã" ã瀺ãèšèªåºæã®æŒç®åã¯ãªãŒããŒããŒããããŸããã |
| CA1040:空ã®ã€ã³ã¿ãŒãã§ã€ã¹ã¯äœ¿çšããŸãã | ã€ã³ã¿ãŒãã§ã€ã¹ã«ã¯ãåäœã䜿çšã®ã³ã³ãã©ã¯ããå®çŸããã¡ã³ããŒãå®çŸ©ãããŸãã ã€ã³ã¿ãŒãã§ã€ã¹ã§ç€ºãããæ©èœã¯ãç¶æ¿ã®éå±€æ§é å ã«åãååšãããã©ããã«ããããããã©ã®åãããé©çšã§ããŸãã åã¯ãã€ã³ã¿ãŒãã§ã€ã¹ã®ã¡ã³ããŒã®å®è£ ãæäŸããããšã§ãã€ã³ã¿ãŒãã§ã€ã¹ãå®è£ ããŸãã 空ã®ã€ã³ã¿ãŒãã§ã€ã¹ã§ã¯ã¡ã³ããŒãå®çŸ©ãããŸããããã®ãããå®è£ ã§ããã³ã³ãã©ã¯ããå®çŸ©ãããŸããã |
| CA1041:ObsoleteAttribute ã¡ãã»ãŒãžãæå®ããŸã | åãŸãã¯ã¡ã³ããŒã System.ObsoleteAttribute 屿§ã䜿çšããŠããŒã¯ãããŠããŸããããã®å±æ§ã§ ObsoleteAttribute.Message ããããã£ãæå®ãããŠããŸããã ObsoleteAttribute ã§ããŒã¯ãããŠããåãŸãã¯ã¡ã³ããŒãã³ã³ãã€ã«ãããšã屿§ã® Message ããããã£ã衚瀺ãããŸãã ããã«ãã£ãŠããŠãŒã¶ãŒã¯æ§åŒã®åãŸãã¯ã¡ã³ããŒã«é¢ããæ å ±ãç¥ãããšãã§ããŸãã |
| CA1043:ã€ã³ãã¯ãµãŒã«ã¯æŽæ°ãŸãã¯æåååŒæ°ã䜿çšããŸã | ã€ã³ãã¯ãµãŒ (ã€ãŸããã€ã³ããã¯ã¹ãããããããã£) ã§ã¯ãã€ã³ããã¯ã¹ã«æŽæ°åãŸãã¯æåååã䜿çšããŸãã äžè¬ã«ããã®ãããªåã¯ããŒã¿æ§é ã®ã€ã³ããã¯ã¹äœæã«äœ¿çšãããã©ã€ãã©ãªã®æäœæ§ãæ¹åãããŸãã Object åã®äœ¿çšã¯ããã¶ã€ã³æã«ç¹å®ã®æŽæ°åãŸãã¯æåååãæå®ã§ããªãå Žåã«éå®ããŠãã ããã |
| CA1044:ããããã£ãæžã蟌ã¿å°çšã«ããããšã¯ã§ããŸãã | èªã¿åãå°çšã®ããããã£ã¯èš±å®¹ãããå¿ èŠãªå ŽåããããããŸãããæžã蟌ã¿å°çšã®ããããã£ã䜿çšããããšã¯ãã¶ã€ã³ã®ã¬ã€ãã©ã€ã³ã§çŠæ¢ãããŠããŸãã ããã¯ããŠãŒã¶ãŒã«å€ãèšå®ãããŠãããªããããã®å€ã確èªã§ããªãããã«ããŠããã»ãã¥ãªãã£äžã®å¹æã¯ãŸã£ãããªãããã§ãã ãŸããèªã¿åãã¢ã¯ã»ã¹ããªããšãå ±æãªããžã§ã¯ãã®ã¹ããŒã¿ã¹ãåç §ã§ããªããããå®çšæ§ãå¶éãããŸãã |
| CA1045:åãåç §ã«ãã£ãŠæž¡ããŸãã | (out ãŸã㯠ref ã䜿çšãã) åã®åç
§æž¡ãã«ã¯ããã€ã³ã¿ãŒã®äœ¿çšçµéšãå€ã®åãšåç
§åã®éãã®çè§£ãããã³è€æ°ã®æ»ãå€ãæã€ã¡ãœããã®åŠçãå¿
èŠã§ãã éçºè
å
šè¬ã«åããŠã©ã€ãã©ãªããã¶ã€ã³ããå ŽåããŠãŒã¶ãŒã out ãã©ã¡ãŒã¿ãŒãŸã㯠ref ãã©ã¡ãŒã¿ãŒã®æ±ãæ¹ãç¿åŸããããšã¯æåŸ
ããªãã§ãã ããã |
| CA1046: åç §åã«å¯ŸããŠç倿Œç®åããªãŒããŒããŒãããªãã§ãã ãã | åç §åã®å Žåãç倿Œç®åã¯æ¢å®ã®å®è£ ã§ã»ãŒåé¡ããããŸããã æ¢å®ã§ã2 ã€ã®åç §ãçå€ãšèŠãªãããã®ã¯ãåããªããžã§ã¯ããåç §ããå Žåã®ã¿ã§ãã |
| CA1047:ã·ãŒã«ãåã®ä¿è·ãããã¡ã³ããŒã宣èšããŸãã | åã§ãããã¯ã ã¡ã³ããŒã宣èšããã®ã¯ãç¶æ¿ããåããã¡ã³ããŒã«ã¢ã¯ã»ã¹ãŸãã¯ãªãŒããŒã©ã€ãã§ããããã«ããããã§ãã å®çŸ©ã«ãããã·ãŒã«ãããåããç¶æ¿ããããšã¯ã§ããŸãããããã¯ãã·ãŒã«ãããåã®ãããã¯ã ã¡ãœãããåŒã³åºãããšãã§ããªããšããããšãæå³ããŸãã |
| CA1050:åå空éã§åã宣èšããŸã | åãåå空éå ã§å®£èšããã®ã¯ãååãè¡çªããªãããã«ãããããšãé¢é£ããåããªããžã§ã¯ãé局圢åŒã§ç·šæããããã§ãã |
| CA1051:åç §å¯èœãªã€ã³ã¹ã¿ã³ã¹ ãã£ãŒã«ãã宣èšããŸãã | ãã£ãŒã«ãã¯äž»ã«å®è£ äžã®è©³çްãšããŠäœ¿çšãã¹ãã§ãã ãã£ãŒã«ã㯠private ãŸã㯠internal ã«ããããããã£ã«ãã£ãŠå ¬éããããã«ããŸãã |
| CA1052:ã¹ã¿ãã£ã㯠ãã«ããŒåã¯ã·ãŒã«ããããŠããªããã°ãªããŸãã | public ãŸã㯠protected ã®åã¯ãéçã¡ã³ããŒã®ã¿ãå«ã¿ãsealed (C# Reference) (NotInheritable) 修食åã䜿çšããŠå®£èšãããŠããŸããã ç¶æ¿ãæå³ããŠããªãåã¯ãsealed 修食åã䜿çšããŠããŒã¯ããåºæ¬åãšããŠäœ¿çšã§ããªãããã«ããŸãã |
| CA1053:ã¹ã¿ãã£ã㯠ãã«ããŒåã¯ã³ã³ã¹ãã©ã¯ã¿ãŒãå«ãããšã¯ã§ããŸãã | ãããªãã¯åãŸãã¯å ¥ãåã«ãªã£ããããªãã¯åã§ãéçãªã¡ã³ããŒã®ã¿ã宣èšãããŠããŸãããŸãããããªãã¯ãŸãã¯ãããã¯ãã®æ¢å®ã®ã³ã³ã¹ãã©ã¯ã¿ãŒãå«ãŸããŸãã éçã¡ã³ããŒã®åŒã³åºãã«åã®ã€ã³ã¹ã¿ã³ã¹ã¯å¿ èŠãªããããã³ã³ã¹ãã©ã¯ã¿ãŒã¯äžèŠã§ãã å®å šæ§ãšã»ãã¥ãªãã£ã確ä¿ããããã«ãæåååŒæ°ã䜿çšããŠæååãªãŒããŒããŒãã§ URI (Uniform Resource Identifier) ãªãŒããŒããŒããåŒã³åºããŠãã ããã |
| CA1054:URI ãã©ã¡ãŒã¿ãŒãæååã«ããããšã¯ã§ããŸãã | ã¡ãœããã§ URI ã®æåå圢åŒã䜿çšããå Žåã察å¿ãããªãŒããŒããŒãã宣èšããURI ã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ã䜿çšããŸããããããããšã§ãå®å šãªæ¹æ³ã§ãã®ãµãŒãã¹ãå®çŸã§ããŸãã |
| CA1055:URI æ»ãå€ãæååã«ããããšã¯ã§ããŸãã | ãã®èŠåã§ã¯ãã¡ãœãã㯠URI ãè¿ããšæ³å®ãããŸãã URI ã®æåå衚çŸã¯è§£æãšã©ãŒããšã³ã³ãŒãã£ã³ã° ãšã©ãŒãçºçãããããã»ãã¥ãªãã£äžã®è匱æ§ã®åå ãšãªãå ŽåããããŸãã System.Uri ã¯ã©ã¹ã䜿çšãããšãå®å šãªæ¹æ³ã§ãã®ãµãŒãã¹ãå®çŸã§ããŸãã |
| CA1056:URI ããããã£ãæååã«ããããšã¯ã§ããŸãã | ãã®èŠåã§ã¯ãããããã£ã¯ URI (Uniform Resource Identifier) ã衚ããšæ³å®ãããŸãã URI ã®æåå衚çŸã¯è§£æãšã©ãŒããšã³ã³ãŒãã£ã³ã° ãšã©ãŒãçºçãããããã»ãã¥ãªãã£äžã®è匱æ§ã®åå ãšãªãå ŽåããããŸãã System.Uri ã¯ã©ã¹ã䜿çšãããšãå®å šãªæ¹æ³ã§ãã®ãµãŒãã¹ãå®çŸã§ããŸãã |
| CA1058:åã¯ãäžå®ã®åºæ¬åãæ¡åŒµããããšã¯ã§ããŸãã | å€éšããåç §å¯èœãªåã§ã¯ãç¹å®ã®åºæ¬åãæ¡åŒµãããŸãã ä»£æ¿æ¡ã®ãããã 1 ã€ã䜿çšããŠãã ããã |
| CA1060: P/Invoke ã NativeMethods ã¯ã©ã¹ã«ç§»åããŸã | System.Runtime.InteropServices.DllImportAttribute 屿§ã§ããŒã¯ãããŠããã¡ãœãããªã©ã®ãã©ãããã©ãŒã åŒã³åºãã¡ãœããããŸã㯠Visual Basic ã§ Declare ããŒã¯ãŒãã䜿çšããŠå®çŸ©ãããã¡ãœãããããã¢ã³ãããŒãžã ã³ãŒãã«ã¢ã¯ã»ã¹ããŠããŸãã ãããã®ã¡ãœããã¯ãNativeMethodsãSafeNativeMethodsãUnsafeNativeMethods ã®åã¯ã©ã¹ã®ããããã«å«ãŸããå¿
èŠããããŸãã |
| CA1061:åºåºã¯ã©ã¹ ã¡ãœãããé衚瀺ã«ããŸãã | 掟çã¡ãœããã®ãã©ã¡ãŒã¿ãŒ ã·ã°ããã£å ã®ããåããåºæ¬ã¡ãœããã®ãã©ã¡ãŒã¿ãŒ ã·ã°ããã£å ã®ããã«å¯Ÿå¿ããåãã匱ãåæå®ãããŠããããšããäž¡è ã®å¯äžã®çžéç¹ã§ããå Žåãåºæ¬åå ã®ã¡ãœãããæŽŸçåå ã®åãååã®ã¡ãœããã«ãã£ãŠé ãºããããŸãã |
| CA1062:ãããªã㯠ã¡ãœããã®åŒæ°ã®æ€èšŒ | å€éšããåç §å¯èœãªã¡ãœããã«æž¡ããããã¹ãŠã®åç §åŒæ°ã«ã€ããŠãnull ãã©ããããã§ãã¯ããå¿ èŠããããŸãã |
| CA1063:IDisposable ãæ£ããå®è£ ããŸã | ãã¹ãŠã® IDisposable åã¯ãDispose ãã¿ãŒã³ãé©åã«å®è£ ããå¿ èŠããããŸãã |
| CA1064:äŸå€ã¯ public ãšããŠèšå®ããå¿ èŠããããŸã | å éšäŸå€ã¯ããã®å éšã¹ã³ãŒãå ã§ã®ã¿èªèãããŸãã å éšã¹ã³ãŒãã®å€åŽã«ããäŸå€ã¯ãåºæ¬äŸå€ã䜿çšããªããã°ãã£ããã§ããŸããã å éšäŸå€ã ExceptionãSystemExceptionããŸã㯠ApplicationException ãç¶æ¿ããŠããå Žåãå€éšã³ãŒãã¯ãã®äŸå€ã®åŠçã«é¢ããååãªæ å ±ãååŸã§ããŸããã |
| CA1065:äºæããªãå Žæã«äŸå€ãçºçãããŸãã | äŸå€ãã¹ããŒããªãã¯ãã®ã¡ãœãããäŸå€ãã¹ããŒããŸãã |
| CA1066: Equals ããªãŒããŒã©ã€ãããéã« IEquatable ãå®è£ ããŸã | å€åã¯ãEquals ããªãŒããŒã©ã€ãããŠããŸãããIEquatable<T> ãå®è£ ããŠããŸããã |
| CA1067: IEquatable ãå®è£ ãããšãã« Equals ããªãŒããŒã©ã€ãããŸã | åã§ã¯ IEquatable<T> ãå®è£ ããŠããŸãããEquals ã¡ãœããããªãŒããŒã©ã€ãããŠããŸããã |
| CA1068:CancellationToken ãã©ã¡ãŒã¿ãŒã¯æåŸã«æå®ããå¿ èŠããããŸã | ã¡ãœããã«ãæåŸã®ãã©ã¡ãŒã¿ãŒã§ã¯ãªã CancellationToken ãã©ã¡ãŒã¿ãŒãæå®ãããŠããŸãã |
| CA1069: åæåã«ã¯éè€ããå€ãæå®ã§ããŸãã | åæåã«ãåã宿°å€ãæç€ºçã«å²ãåœãŠãããŠããè€æ°ã®ã¡ã³ããŒããããŸãã |
| CA1070: ã€ãã³ã ãã£ãŒã«ãã virtual ãšããŠå®£èšããŸãã | ãã£ãŒã«ã圢åŒã®ã€ãã³ãã virtual ã§å®£èšãããŸããã |
| CA1200: æ¥é èŸä»ãã® cref ã¿ã°ã®äœ¿çšãé¿ãã | XML ããã¥ã¡ã³ã ã¿ã°ã® cref 屿§ã¯ "ã³ãŒãåç
§" ãæå³ããŸãã ã¿ã°ã®å
éšããã¹ãããåãã¡ãœãããããããã£ãªã©ãã³ãŒãèŠçŽ ã§ããããšãæå®ããŸãã
cref ã¿ã°ãšãã¬ãã£ãã¯ã¹ãäžç·ã«äœ¿çšãããšãã³ã³ãã€ã©ã§åç
§ãæ€èšŒã§ããªããªããããäžç·ã«äœ¿çšããªãã§ãã ããã ãŸããVisual Studio çµ±åéçºç°å¢ (IDE) ã§ãªãã¡ã¯ã¿ãªã³ã°äžã«ãããã®ã·ã³ãã«åç
§ãèŠã€ããããæŽæ°ãããããããšãã§ããªããªããŸãã |
| CA1303:ããŒã«ã©ã€ãºããããã©ã¡ãŒã¿ãŒãšããŠãªãã©ã«ãæž¡ããªã | å€éšããåç §ã§ããã¡ãœããã§ã.NET ã³ã³ã¹ãã©ã¯ã¿ãŒãŸãã¯ã¡ãœãããžã®ãã©ã¡ãŒã¿ãŒãšããŠããªãã©ã«æååãæž¡ããŠããŸãããã®æååã¯ããŒã«ã©ã€ãºå¯èœã§ãã |
| CA1304:CultureInfo ãæå®ããŸã | System.Globalization.CultureInfo ãã©ã¡ãŒã¿ãŒãåãå ¥ãããªãŒããŒããŒããæã€ã¡ã³ããŒãåŒã³åºããŠããã¡ãœãããŸãã¯ã³ã³ã¹ãã©ã¯ã¿ãŒããCultureInfo ãã©ã¡ãŒã¿ãŒã䜿çšãããªãŒããŒããŒããåŒã³åºããŠããŸããã CultureInfo ãªããžã§ã¯ããŸã㯠System.IFormatProvider ãªããžã§ã¯ããæå®ãããªãå ŽåããªãŒããŒããŒããããã¡ã³ããŒããæç€ºãããæ¢å®å€ã¯ããã¹ãŠã®ãã±ãŒã«ã«å¹æãåã°ãªãå¯èœæ§ããããŸãã |
| CA1305:IFormatProvider ãæå®ããŸã | System.IFormatProvider ãã©ã¡ãŒã¿ãŒãåãå ¥ãããªãŒããŒããŒããæã€ã¡ã³ããŒã 1 ã€ä»¥äžåŒã³åºããŠããã¡ãœãããŸãã¯ã³ã³ã¹ãã©ã¯ã¿ãŒããIFormatProvider ãã©ã¡ãŒã¿ãŒã䜿çšãããªãŒããŒããŒããåŒã³åºããŠããŸããã System.Globalization.CultureInfo ãªããžã§ã¯ããŸã㯠IFormatProvider ãªããžã§ã¯ããæå®ãããªãå ŽåããªãŒããŒããŒããããã¡ã³ããŒããæç€ºãããæ¢å®å€ã¯ããã¹ãŠã®ãã±ãŒã«ã«å¹æãåã°ãªãå¯èœæ§ããããŸãã |
| CA1307:æå³ãæç¢ºã«ããããã® StringComparison ã®æå® | æååæ¯èŒæŒç®ã§ãStringComparison ãã©ã¡ãŒã¿ãŒãèšå®ããªãã¡ãœãã ãªãŒããŒããŒãã䜿çšãããŠããŸãã |
| CA1308:æååã倧æåã«æšæºåããŸã | æååã¯å€§æåã«æ£èŠåããå¿ èŠããããŸãã å°æåãžã®å€ææã« 1 ã€ã®å°ããæåã°ã«ãŒããã©ãŠã³ã ããªãããããããšãã§ããŸããã |
| CA1309: åºæ°ã® StringComparison ã䜿çšããŸã | éèšèªçãªæååæ¯èŒæŒç®ã§ãStringComparison ãã©ã¡ãŒã¿ãŒã Ordinal ãŸã㯠OrdinalIgnoreCase ã«èšå®ãããŠããŸããã ãã©ã¡ãŒã¿ãŒã StringComparison.Ordinal ãŸã㯠StringComparison.OrdinalIgnoreCase ã«æç€ºçã«èšå®ããããšã«ãã£ãŠãå€ãã®å Žåãã³ãŒãã®éåºŠãæ£ç¢ºããããã³ä¿¡é Œæ§ãåäžããŸãã |
| CA1310: æ£ç¢ºæ§ã®ããã« StringComparison ãæå®ããŸã | æååæ¯èŒæäœã§ã¯ãStringComparison ãã©ã¡ãŒã¿ãŒãæå®ãããæ¢å®ã§ã«ã«ãã£åºæã®æå忝èŒã䜿çšããã¡ãœããã®ãªãŒããŒããŒãã䜿çšããŸãã |
| CA1311: ã«ã«ãã£ã®æå®ãŸãã¯ã€ã³ããªã¢ã³ã ããŒãžã§ã³ã®äœ¿çš | ã«ã«ãã£ãæå®ããããã€ã³ããªã¢ã³ã ã«ã«ãã£ã䜿çšãããšãToUpper ãŸã㯠ToLower ãåŒã³åºããšãã«ãçŸåšã®ã«ã«ãã£ãžã®æé»çãªäŸåãåé¿ã§ããŸãã |
| CA1401: P/Invoke ã¯åç §å¯èœã«ãªããŸãã | ãããªãã¯åã®ãããªã㯠ã¡ãœãããŸãã¯ãããã¯ã ã¡ãœããã«ãSystem.Runtime.InteropServices.DllImportAttribute 屿§ããããŸã (Visual Basic ã§ã¯ Declare ããŒã¯ãŒãã§ãå®è£ ãããŸã)ã ãã®ãããªã¡ãœããã¯å ¬éããªãã§ãã ããã |
| CA1416:ãã©ãããã©ãŒã ã®äºææ§ãæ€èšŒãã | ãã©ãããã©ãŒã äŸå API ãã³ã³ããŒãã³ãäžã§äœ¿çšãããšãäžéšã®ãã©ãããã©ãŒã ã§ã³ãŒããåäœããªããªããŸãã |
CA1417: P/Invokes ã®æååãã©ã¡ãŒã¿ãŒã« OutAttribute ã䜿çšããŸãã |
æååãã€ã³ã¿ãŒã³åŠçãããæååã§ãæååãã©ã¡ãŒã¿ãŒã OutAttribute ã®å€ã§æž¡ãããå Žåãã©ã³ã¿ã€ã ãäžå®å®ã«ãªãå¯èœæ§ããããŸãã |
| CA1418: æå¹ãªãã©ãããã©ãŒã æååã䜿çšãã | ãã©ãããã©ãŒã äºææ§ã¢ãã©ã€ã¶ãŒã«ã¯ãæå¹ãªãã©ãããã©ãŒã åãšããŒãžã§ã³ãå¿ èŠã§ãã |
CA1419: System.Runtime.InteropServices.SafeHandle ããæŽŸçããå
·è±¡åã«ã¯ããã®åãšåãå¯èŠæ§ãæã€ãã©ã¡ãŒã¿ãŒãªãã®ã³ã³ã¹ãã©ã¯ã¿ãŒãåããå¿
èŠããããŸã |
System.Runtime.InteropServices.SafeHandle ããæŽŸçããåã®å
å«åãšåãããã«èŠãããã©ã¡ãŒã¿ãŒãªãã®ã³ã³ã¹ãã©ã¯ã¿ãŒãæå®ãããšããœãŒã¹çæçžäºéçšãœãªã¥ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãšäœ¿ç𿹿³ãåäžããŸãã |
| CA1420: ããããã£ãåããŸãã¯å±æ§ã«ã¯ã©ã³ã¿ã€ã ããŒã·ã£ãªã³ã°ãå¿ èŠã§ã | ã©ã³ã¿ã€ã ããŒã·ã£ãªã³ã°ãç¡å¹ãªå Žåã«ã©ã³ã¿ã€ã ããŒã·ã£ãªã³ã°ãå¿ èŠãšããæ©èœã䜿çšãããšãã©ã³ã¿ã€ã äŸå€ãçºçããŸãã |
| CA1421: DisableRuntimeMarshallingAttribute ãé©çšãããŠããå Žåãã¡ãœããã¯ã©ã³ã¿ã€ã ããŒã·ã£ãªã³ã°ã䜿çšããŸã | ã¡ãœããã¯ã©ã³ã¿ã€ã ããŒã·ã£ãªã³ã°ã䜿çšããŠããŸãããã©ã³ã¿ã€ã ããŒã·ã£ãªã³ã°ã¯æç€ºçã«ç¡å¹ã«ãªã£ãŠããŸãã |
| CA1422: ãã©ãããã©ãŒã ã®äºææ§ãæ€èšŒãã | ç¹å®ã® OS (ããŒãžã§ã³) ã§å€ã API ãããã® OS (ããŒãžã§ã³) ããå°éå¯èœãªåŒã³åºããµã€ãããåŒã³åºãããšã¯ãå§ãããŸããã |
| CA1501: é床ã®ç¶æ¿ãé¿ãã | åã®ç¶æ¿éå±€ã®æ·±ãã 4 ã¬ãã«ãè¶ ããŠããŸãã æ·±ããã¹ããããåéå±€ã¯ã远跡ãçè§£ãããã³ä¿å®ãå°é£ã«ãªãããšããããŸãã |
| CA1502: é床ã®è€éããé¿ãã | ãã®èŠåã¯ãç·åœ¢ç¬ç«ã®ã¡ãœããçµè·¯æ°ã瀺ã尺床ã§ãæ¡ä»¶åå²ã®æ°ãšè€éãã«ãã£ãŠæ±ºãŸããŸãã |
| CA1505:ã¡ã³ããã³ã¹ã§ããªãã³ãŒãã䜿çšããªãã§ãã ãã | åãŸãã¯ã¡ãœããã®ä¿å®å®¹ææ§ææ°ãäœãå€ã§ãã ä¿å®å®¹ææ§ææ°ã®äœãåãŸãã¯ã¡ãœããã¯ãä¿å®ãå°é£ãªå¯èœæ§ãããããããã¶ã€ã³ã®å€æŽãæ€èšããããšããå§ãããŸãã |
| CA1506:ã¯ã©ã¹çµå床ã倧ããããããªãã§ãã ãã | ãã®èŠåã¯ãåãŸãã¯ã¡ãœããã«å«ãŸããäžæã®ååç §ã®æ°ãã«ãŠã³ãããããšã«ãã£ãŠãã¯ã©ã¹çµå床ãèšæž¬ããŸãã |
| CA1507:æååã®ä»£ããã« nameof ã䜿çšããŸã |
nameof åŒã䜿çšã§ããå Žåã«ãæååãªãã©ã«ãåŒæ°ãšããŠäœ¿çšãããŠããŸãã |
| CA1508:䜿çšãããªãæ¡ä»¶ä»ãã³ãŒããåé¿ãã | ã¡ãœããã«ã¯ãå®è¡æã«åžžã« true ãŸã㯠false ã«è©äŸ¡ãããæ¡ä»¶ä»ãã³ãŒãããããŸãã ãã®ãããæ¡ä»¶ã® false åå²ã§å®è¡ãããªãã³ãŒãã«ãªããŸãã |
| CA1509: ã³ãŒã ã¡ããªãã¯æ§æãã¡ã€ã«ã®ãšã³ããªãç¡å¹ã§ã |
CA1501ãCA1502ãCA1505ãCA1506 ãªã©ã®ã³ãŒã ã¡ããªãã¯èŠåã§ãç¡å¹ãªãšã³ããªãå«ãã CodeMetricsConfig.txt ãšããååã®æ§æãã¡ã€ã«ãæå®ãããŸããã |
| CA1510: ArgumentNullException ã¹ã㌠ãã«ããŒã䜿çšãã | throw ãã«ããŒã¯ãæ°ããäŸå€ã€ã³ã¹ã¿ã³ã¹ãçæãã if ãããã¯ãããåçŽã§å¹ççã§ãã |
| CA1511: ArgumentException ã¹ã㌠ãã«ããŒã䜿çšãã | throw ãã«ããŒã¯ãæ°ããäŸå€ã€ã³ã¹ã¿ã³ã¹ãçæãã if ãããã¯ãããåçŽã§å¹ççã§ãã |
| CA1512: ArgumentOutOfRangeException ã®ã¹ã㌠ãã«ããŒã䜿çšãã | throw ãã«ããŒã¯ãæ°ããäŸå€ã€ã³ã¹ã¿ã³ã¹ãçæãã if ãããã¯ãããåçŽã§å¹ççã§ãã |
| CA1513: ObjectDisposedException ã¹ã㌠ãã«ããŒã䜿çšãã | throw ãã«ããŒã¯ãæ°ããäŸå€ã€ã³ã¹ã¿ã³ã¹ãçæãã if ãããã¯ãããåçŽã§å¹ççã§ãã |
| CA1514: åé·ãªé·ãã®åŒæ°ã䜿çšããªããã«ããŠãã ãã | åé·ãªé·ãã®åŒæ°ã¯ãæååãŸãã¯ãããã¡ãŒã®æ«å°Ÿã«ã¹ã©ã€ã¹ããå Žåã«äœ¿çšãããŸãã èšç®ãããé·ãã¯ãšã©ãŒãçºçãããããäžèŠã§ããããŸãã |
| CA1515: public åã internal ã«ããããšãæ€èšãã | ã¯ã©ã¹ ã©ã€ãã©ãªãšã¯ç°ãªããéåžžãã¢ããªã±ãŒã·ã§ã³ã® API ã¯ãããªãã¯ã«åç §ãããªããããåã internal ãšããŠããŒã¯ã§ããŸãã |
| CA1516: ã¯ãã¹ãã©ãããã©ãŒã çµã¿èŸŒã¿ã䜿çšãã | ãã®ã«ãŒã«ã¯ã代ããã«åçã®ã¯ãã¹ãã©ãããã©ãŒã çµã¿èŸŒã¿é¢æ°ã«çœ®ãæããããšãã§ãããã©ãããã©ãŒã åºæã®çµã¿èŸŒã¿ã®äœ¿çšãæ€åºããŸãã |
| CA1700:åæåå€ã« 'Reserved' ãšããååãæå®ããŸãã | ãã®èŠåã§ã¯ã"reserved" ãå«ãååã®åæäœã®ã¡ã³ããŒã¯ãçŸåšäœ¿çšãããŠããªããŠããå°æ¥çãªããŒãžã§ã³ã§ã¯ååã倿Žãããåé€ããããã¬ãŒã¹ãã«ããŒãšæ³å®ããŠããŸãã ã¡ã³ããŒã®ååã倿Žãããåé€ãããããããšã¯ãç Žå£ç倿Žã§ãã |
| CA1707:èå¥åã¯ã¢ã³ããŒã¹ã³ã¢ãå«ãããšã¯ã§ããŸãã | ååä»ãèŠåã§ã¯ãèå¥ååã«ã¢ã³ããŒã¹ã³ã¢ (_) æåãå«ããããšãã§ããŸããã ãã®èŠåã«ãããåå空éãåãã¡ã³ããŒãããã³ãã©ã¡ãŒã¿ãŒããã§ãã¯ãããŸãã |
| CA1708: èå¥åã¯ã倧æåãšå°æåã®åºå¥ä»¥å€ã«ãçžéããŠããªããã°ãªããŸãã | åå空éãåãã¡ã³ããŒãããã³ãã©ã¡ãŒã¿ãŒã®åèå¥åã¯ã倧æå/å°æå以å€ã®ã¿ã§ã¯åºå¥ã§ããŸãããå ±éèšèªã©ã³ã¿ã€ã ã察象ãšããèšèªã¯ã倧æåãšå°æåãåºå¥ããå¿ èŠã¯ãªãããã§ãã |
| CA1710:èå¥åã¯ãæ£ãããµãã£ãã¯ã¹ãå«ãã§ããªããã°ãªããŸãã | ååä»ãèŠåã«ãããšãç¹å®ã®åºæ¬åãæ¡åŒµããåãç¹å®ã®ã€ã³ã¿ãŒãã§ã€ã¹ãå®è£ ããåããŸãã¯ãã®ãããªåã®æŽŸçåã¯ãåºæ¬åãã€ã³ã¿ãŒãã§ã€ã¹ã«é¢é£ãããµãã£ãã¯ã¹ãååã«ä»ããŸãã |
| CA1711:èå¥åã¯ãäžé©åãªãµãã£ãã¯ã¹ãå«ãããšã¯ã§ããŸãã | èŠåã§ã¯ãç¹å®ã®åºæ¬åãæ¡åŒµããåãç¹å®ã®ã€ã³ã¿ãŒãã§ã€ã¹ãå®è£ ããåããŸãã¯ãã®ãããªåããæŽŸçããåã®ååã«ã®ã¿ãåºæã®äºçŽæžã¿ãµãã£ãã¯ã¹ãæ«å°Ÿã«ä»ããŸãã ãã®ä»ã®ååã§ã¯ãäºçŽæžã¿ã®ãµãã£ãã¯ã¹ã䜿çšããªãã§ãã ããã |
| CA1712: åæå€ã®å é ã«ååãä»ããªãã§ãã ãã | éçºããŒã«ã«ãã£ãŠåæ å ±ãæäŸãããããšãæ³å®ãããŠãããããåæåã®ã¡ã³ããŒåã«ã¯ååããã¬ãã£ãã¯ã¹ãšããŠä»ããŸããã |
| CA1713:ã€ãã³ãã¯ãbefore ãŸã㯠after ãã¬ãã£ãã¯ã¹ãå«ãããšã¯ã§ããŸãã | ã€ãã³ãåã "Before" ãŸã㯠"After" ã§å§ãŸã£ãŠããŸãã ç¹å®ã®ã·ãŒã±ã³ã¹ã§çºçããé¢é£ã€ãã³ãã«ååãä»ããå ŽåãçŸåšæå¶ãŸãã¯é廿å¶ã䜿çšããŠãã¢ã¯ã·ã§ã³ ã·ãŒã±ã³ã¹ã®çžå¯Ÿçãªäœçœ®ã瀺ããŸãã |
| CA1714:ãã©ã°åæåã¯ãè€æ°åœ¢ã®ååãå«ãã§ããªããã°ãªããŸãã | ãããªãã¯åæäœã« System.FlagsAttribute 屿§ãããããã®ååã®æ«å°Ÿã« "s" ããããŸããã FlagsAttribute ã§ããŒã¯ãããåã¯è€æ°åœ¢ã®ååãæã¡ãŸããããã¯ããã®å±æ§ãè€æ°ã®å€ãæå®ã§ããããšã瀺ãããã§ãã |
| CA1715:èå¥åã¯æ£ãããã¬ãã£ãã¯ã¹ãå«ãã§ããªããã°ãªããŸãã | å€éšããåç §ã§ããã€ã³ã¿ãŒãã§ã€ã¹ã®ååã倧æåã® "I" ããå§ãŸã£ãŠããŸããã å€éšããåç §ã§ããåãŸãã¯ã¡ãœããã®ãžã§ããªãã¯åãã©ã¡ãŒã¿ãŒã®ååãã倧æåã® "T" ããå§ãŸã£ãŠããŸããã |
| CA1716:èå¥åã¯ããŒã¯ãŒããšåäžã«ããããšã¯ã§ããŸãã | åå空éã®ååãŸãã¯åã®ååããããã°ã©ãã³ã°èšèªã§ãäºçŽæžã¿ã®ããŒã¯ãŒããšäžèŽããŸãã åå空éãšåã®èå¥åã¯ãå ±éèšèªã©ã³ã¿ã€ã ã察象ã«ããèšèªã§å®çŸ©ãããŠããããŒã¯ãŒããšäžèŽããªãããã«ããŸãã |
| CA1717:FlagsAttribute åæåã®ã¿ãè€æ°åœ¢ã®ååãå«ãã§ããªããã°ãªããŸãã | ååä»ãèŠåã§ã¯ãåæäœã®è€æ°åœ¢ã®ååã¯åæã«è€æ°ã®åæå€ãæå®ã§ããããšãæå³ããŸãã |
| CA1720:èå¥åã«ã¯ååãå«ããªãã§ãã ãã | å€éšããåç §ã§ããã¡ã³ããŒã®ãã©ã¡ãŒã¿ãŒåã«ããŒã¿åã®ååãå«ãŸããŠããããå€éšããåç §ã§ããã¡ã³ããŒã®ååã«èšèªåºæã®ããŒã¿åã®ååãå«ãŸããŠããŸãã |
| CA1721:ããããã£å㯠get ã¡ãœãããšåäžã«ããããšã¯ã§ããŸãã | ãããªã㯠ã¡ã³ããŒãŸãã¯ãããã¯ã ã¡ã³ããŒã®ååãã"Get" ããå§ãŸã£ãŠãããããããªã㯠ããããã£ãŸãã¯ãããã¯ã ããããã£ã®ååãšäžèŽããŸãã "Get" ã¡ãœãããšããããã£ã«ã¯ãããããã®æ©èœãæç¢ºã«åºå¥ããååãæå®ããªããã°ãªããŸããã |
| CA1724:ååã¯åå空éãšåäžã«ããããšã¯ã§ããŸãã | åå㯠.NET åå空éãšåäžã«ããããšã¯ã§ããŸããã ãã®èŠåã«éåãããšãã©ã€ãã©ãªã䜿ãã¥ãããªããŸãã |
| CA1725:ãã©ã¡ãŒã¿ãŒåã¯åºæ¬å®£èšãšåäžã§ãªããã°ãªããŸãã | ãªãŒããŒã©ã€ãéå±€ã®ãã©ã¡ãŒã¿ãŒã«å¯Ÿããäžè²«æ§ã®ããååä»ãã«ãã£ãŠãã¡ãœãã ãªãŒããŒã©ã€ãã®æçšæ§ãé«ãŸããŸãã æŽŸçã¡ãœããã®ãã©ã¡ãŒã¿ãŒåãåºæ¬å®£èšã®ãã©ã¡ãŒã¿ãŒåãšç°ãªãå Žåãã¡ãœãããåºæ¬ã¡ãœããã®ãªãŒããŒã©ã€ãã§ãããããŸãã¯ã¡ãœããã®æ°ãããªãŒããŒã©ã€ãã§ãããã«ã€ããŠæ··ä¹±ãçããå¯èœæ§ããããŸãã |
| CA1727: ååä»ããã¬ãŒã¹ãã«ããŒã« PascalCase ã䜿çšããŠãã ãã | ãã° ã¡ãã»ãŒãž ãã³ãã¬ãŒãã®ååä»ããã¬ãŒã¹ãã«ããŒã«ã¯ãã¹ã«ã«ã±ãŒã¹ã䜿çšããŸãã |
| CA1801:䜿çšãããŠããªããã©ã¡ãŒã¿ãŒã®ç¢ºèª | ã¡ãœããã®ã·ã°ããã£ã«ãã¡ãœããã®æ¬äœã§äœ¿çšãããŠããªããã©ã¡ãŒã¿ãŒããããŸãã |
| CA1802:é©åãªå Žæã«ãªãã©ã«ã䜿çšããŸã | ãã£ãŒã«ãã static ããã³ read-only (Visual Basic ã§ã¯ Shared ããã³ ReadOnly) ãšããŠå®£èšãããã³ã³ãã€ã«æã«èšç®ã§ããå€ã«ãã£ãŠåæåãããŠããŸãã ã¿ãŒã²ãã ãã£ãŒã«ãã«å²ãåœãŠãããå€ã¯ã³ã³ãã€ã«æã«èšç®å¯èœã§ããããã宣èšã const (Visual Basic ã® Const) ãã£ãŒã«ãã«å€æŽããŠãå®è¡æã§ã¯ãªãã³ã³ãã€ã«æã«å€ãèšç®ãããããã«ããŸãã |
| CA1805: äžå¿ èŠã«åæåããªã | .NET ã©ã³ã¿ã€ã ã§ã¯ãã³ã³ã¹ãã©ã¯ã¿ãŒãå®è¡ããåã«åç §åã®ãã¹ãŠã®ãã£ãŒã«ããæ¢å®å€ã«åæåããŸãã ã»ãšãã©ã®å Žåããã£ãŒã«ããæ¢å®å€ã«æç€ºçã«åæåããããšã¯åé·ã§ãããããã¡ã³ããã³ã¹ ã³ã¹ããå¢å ããããã©ãŒãã³ã¹ãäœäžããå¯èœæ§ããããŸã (ã¢ã»ã³ã㪠ãµã€ãºã®å¢å ãªã©)ã |
| CA1806:ã¡ãœããã®çµæãç¡èŠããªã | æ°ããäœæããããªããžã§ã¯ããçŸåšãŸã§äœ¿çšãããŠããªãããæ°ããæååãäœæããŠè¿ãã¡ãœãããåŒã³åºãããŠäœæãããæ°ããæååãçŸåšãŸã§äœ¿çšãããŠããŸããããããã¯ãCOM ãŸã㯠P/Invoke ã¡ãœããããè¿ããã HRESULT ãŸãã¯ãšã©ãŒ ã³ãŒããçŸåšãŸã§äœ¿çšãããŠããŸããã |
| CA1810:åç §åã®éçãã£ãŒã«ããã€ã³ã©ã€ã³ã§åæåããŸã | åã§æç€ºçãªéçã³ã³ã¹ãã©ã¯ã¿ãŒã宣èšãããšãJust-In-Time (JIT) ã³ã³ãã€ã©ããéçã³ã³ã¹ãã©ã¯ã¿ãŒãåŒã³åºãããããšã確èªããããã«ãåã®éçã¡ãœãããšéçã€ã³ã¹ã¿ã³ã¹ ã³ã³ã¹ãã©ã¯ã¿ãŒã«åå¥ã«ãã§ãã¯ã远å ããŸãã éçã³ã³ã¹ãã©ã¯ã¿ãŒã®ãã§ãã¯ã«ãã£ãŠããã©ãŒãã³ã¹ãäœäžããããšããããŸãã |
| CA1812:ã€ã³ã¹ã¿ã³ã¹åãããŠããªãå éšã¯ã©ã¹ã䜿çšããŸãã | ã¢ã»ã³ã㪠ã¬ãã«ã®åã®ã€ã³ã¹ã¿ã³ã¹ããã¢ã»ã³ããªå ã®ã³ãŒãããäœæãããŸããã |
| CA1813:ã¢ã³ã·ãŒã«ã屿§ã䜿çšããŸãã | .NET ã«ã¯ãã«ã¹ã¿ã 屿§ãååŸããã¡ãœãããçšæãããŠããŸãã æ¢å®ã§ã¯ããããã®ã¡ãœããã§å±æ§ã®ç¶æ¿éå±€ãæ€çŽ¢ãããŸãã 屿§ãã·ãŒã«ãããšãç¶æ¿éå±€ã®å šäœãæ€çŽ¢ãããªããªããããããã©ãŒãã³ã¹ãåäžããŸãã |
| CA1814:è€æ°æ¬¡å ã®é åã§ã¯ãªããžã£ã°é åã䜿çšããŸã | ãžã£ã°é åãšã¯ãåèŠçŽ ãé åã§ããé åã§ãã èŠçŽ ãæ§æããé åã®ãµã€ãºã¯ç°ãªã£ãŠããããããããŒã¿ ã»ããã«ãã£ãŠã¯ç¡é§ãªç©ºéãå°ãªããªããŸãã |
| CA1815: equals ããã³æŒç®å equals ãå€åã§ãªãŒããŒã©ã€ããã | å€åã®å ŽåãEquals ãç¶æ¿ããå®è£ ã Reflection ã©ã€ãã©ãªã䜿çšããŠããã¹ãŠã®ãã£ãŒã«ãã®å å®¹ãæ¯èŒããŸãã Reflection ã¯èšç®ã³ã¹ããé«ããããå Žåã«ãã£ãŠã¯ãã¹ãŠã®ãã£ãŒã«ãã§ç倿§ãæ¯èŒããå¿ èŠã¯ãããŸããã ãŠãŒã¶ãŒãã€ã³ã¹ã¿ã³ã¹ã®æ¯èŒãŸãã¯äžŠã¹æ¿ããè¡ãããšããããã·ã¥ ããŒãã« ããŒãšããŠã€ã³ã¹ã¿ã³ã¹ã䜿çšããããšãäºæ³ãããå Žåã«ã¯ãå€åã« Equals ãå®è£ ããå¿ èŠããããŸãã |
| CA1816:GC.SuppressFinalize ãæ£ããåŒã³åºããŸã | Dispose ãå®è£ ããã¡ãœããã GC.SuppressFinalize ãåŒã³åºããŠããªãããDispose ãå®è£ ããªãã¡ãœããã GC.SuppressFinalize ãåŒã³åºããŠããŸãããŸãã¯ãããã¡ãœããã GC.SuppressFinalize ãåŒã³åºããthis (Visual Basic ã§ã¯ Me) 以å€ã®ãªããžã§ã¯ããæž¡ããŠããŸãã |
| CA1819:ããããã£ã¯ãé åãè¿ãããšã¯ã§ããŸãã | ããããã£ãèªã¿åãå°çšã§ãã£ãŠããããããã£ã§è¿ãããé åã¯æžã蟌ã¿ããä¿è·ãããŸããã é åã®æ¹ãããé²ãã«ã¯ãããããã£ã§é åã®ã³ããŒãè¿ãå¿ èŠããããŸãã äžè¬ã«ããã®ãããªããããã£ãåŒã³åºããšãã®ããã©ãŒãã³ã¹äœäžã¯çè§£ãããŸããã |
| CA1820:æååã®é·ãã䜿çšããŠç©ºã®æååããã¹ãããŸã | String.Length ããããã£ãŸã㯠String.IsNullOrEmpty ã¡ãœããã䜿çšããŠæååãæ¯èŒããæ¹æ³ã¯ãEquals ã䜿çšããå Žåãããã¯ããã«é«éã§ãã |
| CA1821:空ã®ãã¡ã€ãã©ã€ã¶ãŒãåé€ããŸã | ãªããžã§ã¯ãã®æå¹æéã®è¿œè·¡ã«é¢é£ããããã©ãŒãã³ã¹ ãªãŒããŒããããå¢å€§ããããããã¡ã€ãã©ã€ã¶ãŒã¯å¯èœãªéã䜿çšããªãã§ãã ããã 空ã®ãã¡ã€ãã©ã€ã¶ãŒã䜿çšãããšããªãŒããŒããããå¢å€§ããã ãã§äœã®å©ç¹ããããŸããã |
| CA1822:ã¡ã³ããŒã static ã«èšå®ããŸã | ã€ã³ã¹ã¿ã³ã¹ ããŒã¿ã«ã¢ã¯ã»ã¹ããªãããŸãã¯ã€ã³ã¹ã¿ã³ã¹ ã¡ãœãããåŒã³åºããªãã¡ã³ããŒã¯ãéç (Visual Basic ã§ã¯ Shared) ãšããŠããŒã¯ã§ããŸãã ã¡ãœãããéçãšããŠããŒã¯ãããšãã³ã³ãã€ã©ã¯ãããã®ã¡ã³ããŒã«å¯Ÿããéä»®æ³åŒã³åºããµã€ããåºåããŸãã ããã©ãŒãã³ã¹éèŠã®ã³ãŒãã§ã¯ãããã«ãã倧ããããã©ãŒãã³ã¹ãåäžã§ããŸãã |
| CA1823:䜿çšãããŠããªããã©ã€ããŒã ãã£ãŒã«ãã䜿çšããŸãã | ã¢ã»ã³ããªå ã§ã¢ã¯ã»ã¹ãããŠããªããšæããããã©ã€ããŒã ãã£ãŒã«ããæ€åºãããŸããã |
| CA1824:ã¢ã»ã³ããªã NeutralResourcesLanguageAttribute ã«èšå®ããŸã | NeutralResourcesLanguage 屿§ã¯ããªãœãŒã¹ ãããŒãžã£ãŒã«å¯Ÿããã¢ã»ã³ããªã®ãã¥ãŒãã©ã« ã«ã«ãã£ã®ãªãœãŒã¹ã衚瀺ããããã«äœ¿çšããèšèªãéç¥ããŸãã ããã«ãããèªã¿èŸŒãã æåã®ãªãœãŒã¹ã«å¯Ÿããæ€çŽ¢ã®ããã©ãŒãã³ã¹ãåäžããã¯ãŒãã³ã° ã»ãããçž®å°ã§ããŸãã |
| CA1825:é·ã 0 ã®é åå²ãåœãŠãåé¿ããŸã | é·ã 0 ã®é åãåæåãããšãäžèŠãªã¡ã¢ãªå²ãåœãŠãçºçããŸãã 代ããã«ãArray.Empty ãåŒã³åºããŠãéçã«å²ãåœãŠããã空ã®é åã€ã³ã¹ã¿ã³ã¹ã䜿çšããŠãã ããã ã¡ã¢ãªå²ãåœãŠã¯ããã®ã¡ãœããã®ãã¹ãŠã®åŒã³åºãã§å ±æãããŸãã |
| CA1826:Linq ã®åæå¯èœãªã¡ãœããã®ä»£ããã«ããããã£ã䜿çšããŸã | Enumerable LINQ ã¡ãœãããåçã®ããå¹ççãªããããã£ããµããŒãããåã§äœ¿çšãããŸããã |
| CA1827:Any ã䜿çšã§ããå Žå㯠Count/LongCount ã䜿çšããŸãã | Count ã¡ãœããã®æ¹ãå¹ççãªç¶æ³ã§ãLongCount ãŸã㯠Any ã¡ãœããã䜿çšãããŸããã |
| CA1828:AnyAsync ã䜿çšã§ããå Žå㯠CountAsync/LongCountAsync ã䜿çšããŸãã | CountAsync ã¡ãœããã®æ¹ãå¹ççãªç¶æ³ã§ãLongCountAsync ãŸã㯠AnyAsync ã¡ãœããã䜿çšãããŸããã |
| CA1829:Enumerable. Count ã¡ãœããã§ã¯ãªã Length/Count ããããã£ã䜿çšããŸã |
Count LINQ ã¡ãœãããåçã®ããå¹çç㪠Length ãŸã㯠Count ããããã£ããµããŒãããåã§äœ¿çšãããŸããã |
| CA1830:StringBuilder ã®å³å¯ã«åæå®ããã Append ããã³ Insert ã¡ãœããã®ãªãŒããŒããŒãããå§ãããŸã | Append ãš Insert ã§ã¯ãString 以å€ã®è€æ°ã®åã«å¯ŸããŠãªãŒããŒããŒããæäŸããŸãã å¯èœã§ããã°ãToString() ãšæååããŒã¹ã®ãªãŒããŒããŒãã䜿çšããããããå³å¯ã«åæå®ããããªãŒããŒããŒããåªå ããŠäœ¿çšããããšããå§ãããŸãã |
| CA1831: 該åœããå Žåãæååã«ç¯å²ããŒã¹ã®ã€ã³ãã¯ãµãŒã®ä»£ããã« AsSpan ã䜿çšããŸã | æååã«å¯ŸããŠç¯å²ã€ã³ãã¯ãµãŒã䜿çšãããã®å€ã ReadOnlySpan<char> åã«æé»çã«å²ãåœãŠããšãSubstring ã®ä»£ããã«ã¡ãœãã Slice ã䜿çšãããŸããããã«ãããæååã®èŠæ±ãããéšåã®ã³ããŒãçæãããŸãã |
| CA1832: é åã® ReadOnlySpan ãŸã㯠ReadOnlyMemory éšåãååŸããããã«ãç¯å²ããŒã¹ã®ã€ã³ãã¯ãµãŒã®ä»£ããã« AsSpan ãŸã㯠AsMemory ã䜿çšããŸã | é åã«å¯ŸããŠç¯å²ã€ã³ãã¯ãµãŒã䜿çšãããã®å€ã ReadOnlySpan<T> ãŸã㯠ReadOnlyMemory<T> åã«æé»çã«å²ãåœãŠããšãGetSubArray ã®ä»£ããã«ã¡ãœãã Slice ã䜿çšãããŸããããã«ãããé åã®èŠæ±ãããéšåã®ã³ããŒãçæãããŸãã |
| CA1833: é åã® Span ãŸã㯠Memory éšåãååŸããããã«ãç¯å²ããŒã¹ã®ã€ã³ãã¯ãµãŒã®ä»£ããã« AsSpan ãŸã㯠AsMemory ã䜿çšããŸã | é åã«å¯ŸããŠç¯å²ã€ã³ãã¯ãµãŒã䜿çšãããã®å€ã Span<T> ãŸã㯠Memory<T> åã«æé»çã«å²ãåœãŠããšãGetSubArray ã®ä»£ããã«ã¡ãœãã Slice ã䜿çšãããŸããããã«ãããé åã®èŠæ±ãããéšåã®ã³ããŒãçæãããŸãã |
| CA1834: 1 æåã®æååã«ã¯ StringBuilder.Append(char) ã䜿çšãã |
StringBuilder ã«ã¯ãåŒæ°ãšã㊠Append ãåã char ãªãŒããŒããŒãããããŸãã ããã©ãŒãã³ã¹äžã®çç±ãããchar ãªãŒããŒããŒããåŒã³åºãããšããå§ãããŸãã |
CA1835: MemoryãšReadAsyncããŒã¹ã®ãªãŒããŒããŒããåªå
ããŸãWriteAsync |
Streamã«ã¯ãæåã®åŒæ°ãšããŠReadAsyncãåãåãMemory<Byte>ãªãŒããŒããŒããšãæåã®åŒæ°ãšããŠWriteAsyncãåãåãReadOnlyMemory<Byte>ãªãŒããŒããŒãããããŸãã ããå¹ççãªã¡ã¢ãª ããŒã¹ã®ãªãŒããŒããŒããåŒã³åºãããšããå§ãããŸãã |
CA1836: 䜿çšå¯èœãªå Žåã¯ãIsEmpty ããã Count ãåªå
ããŸã |
ãªããžã§ã¯ãã«é
ç®ãå«ãŸããŠãããã©ããã確èªãããšãã¯ãIsEmptyãCountãLengthãCount<TSource>(IEnumerable<TSource>) ãããå¹çç㪠LongCount<TSource>(IEnumerable<TSource>) ããããã£ã䜿çšããããšããå§ãããŸãã |
CA1837: Environment.ProcessId ã§ã¯ãªã Process.GetCurrentProcess().Id ã䜿çšããŸã |
Environment.ProcessId 㯠Process.GetCurrentProcess().Id ãããç°¡åãã€é«éã§ãã |
CA1838: P/Invokes ã« StringBuilder ãã©ã¡ãŒã¿ãŒã䜿çšããŸãã |
StringBuilderã®ããŒã·ã£ãªã³ã°ã§ã¯ãåžžã«ãã€ãã£ã ãããã¡ãŒ ã³ããŒãäœæããã1 åã®ããŒã·ã£ãªã³ã°æäœã«å¯ŸããŠè€æ°ã®å²ãåœãŠãè¡ãããŸãã |
| CA1839: Process.GetCurrentProcess().MainModule.FileName ã§ã¯ãªã Environment.ProcessPath ã䜿çšããŸã |
Environment.ProcessPath 㯠Process.GetCurrentProcess().MainModule.FileName ãããç°¡åãã€é«éã§ãã |
| CA1840: Thread.CurrentThread.ManagedThreadId ã®ä»£ããã« Environment.CurrentManagedThreadId ã䜿çšãã |
Environment.CurrentManagedThreadId 㯠Thread.CurrentThread.ManagedThreadId ãããã³ã³ãã¯ãã§å¹ççã§ãã |
| CA1841: Dictionary Contains ã¡ãœãããåªå ããŸã | å€ãã®å ŽåãContainsãŸãã¯Keys ã³ã¬ã¯ã·ã§ã³ã§ValuesãåŒã³åºããšããã£ã¯ã·ã§ããªèªäœã§ContainsKeyãŸãã¯ContainsValueãåŒã³åºããããã³ã¹ããé«ããªãå ŽåããããŸãã |
CA1842: 1 ã€ã®ã¿ã¹ã¯ã§ WhenAll ã䜿çšããªã |
1 ã€ã®ã¿ã¹ã¯ã§ WhenAll ã䜿çšãããšãããã©ãŒãã³ã¹ãäœäžããå¯èœæ§ããããŸãã 代ããã«ã¿ã¹ã¯ãåŸ
æ©ãŸãã¯è¿ããŸãã |
CA1843: 1 ã€ã®ã¿ã¹ã¯ã§ WaitAll ã䜿çšããªã |
1 ã€ã®ã¿ã¹ã¯ã§ WaitAll ã䜿çšãããšãããã©ãŒãã³ã¹ãäœäžããå¯èœæ§ããããŸãã 代ããã«ã¿ã¹ã¯ãåŸ
æ©ãŸãã¯è¿ããŸãã |
CA1844: ãµãã¯ã©ã¹åæã«éåæã¡ãœããã®ã¡ã¢ãªããŒã¹ã®ãªãŒããŒã©ã€ããæäŸãã Stream |
ããã©ãŒãã³ã¹ãåäžãããã«ã¯ã Streamãµãã¯ã©ã¹åãããšãã«ã¡ã¢ãªããŒã¹ã®éåæã¡ãœããããªãŒããŒã©ã€ãããŸãã æ¬¡ã«ãã¡ã¢ãªããŒã¹ã®ã¡ãœããã®èгç¹ããé
åããŒã¹ã®ã¡ãœãããå®è£
ããŸãã |
CA1845: ã¹ãã³ããŒã¹ã䜿çšãã string.Concat |
AsSpan ãšé£çµæŒç®åã®ä»£ããã«ãstring.Concat ãš Substring ã䜿çšããæ¹ãå¹ççã§ãã |
CA1846: AsSpan ã Substring ããåªå
ããŸã |
AsSpan 㯠Substring ãããå¹ççã§ãã
Substring ããO(n) æååã®ã³ããŒãè¡ãã®ã«å¯ŸããAsSpan ã¯ããããã«ãäžå®ã®ã³ã¹ããããããŸãã
AsSpan ããããŒãå²ãåœãŠãå®è¡ããŸããã |
| CA1847: åäžæåã®æ€çŽ¢ã«ã¯æåãªãã©ã«ã䜿çšãã | 1 æåãæ€çŽ¢ãããšãã« String.Contains(char) ã®ä»£ããã« String.Contains(string) ã䜿çšããŸãã |
| CA1848: LoggerMessage ããªã²ãŒãã䜿çšãã | ããã©ãŒãã³ã¹ãåäžãããã«ã¯ãLoggerMessage ããªã²ãŒãã䜿çšããŸãã |
| CA1849: éåæã¡ãœããå ã§ã¯éåæã¡ãœãããåŒã³åºããŸã | æ¢ã«éåæã§ããã¡ãœããã§ã¯ãä»ã®ã¡ãœããã®åŒã³åºãã¯ãã®éåæããŒãžã§ã³ (ååšããå Žå) ã«å¯ŸããŠè¡ãå¿ èŠããããŸãã |
CA1850: HashData ãããéç ComputeHash ã¡ãœãããåªå
ãã |
HashData ãåŒã³åºã HashAlgorithm ã€ã³ã¹ã¿ã³ã¹ãäœæããã³ç®¡çããããããéç ComputeHash ã¡ãœããã䜿çšããæ¹ãå¹ççã§ãã |
CA1851: IEnumerableã³ã¬ã¯ã·ã§ã³ã®è€æ°ã®åæäœãèããããŸã |
IEnumerable ã³ã¬ã¯ã·ã§ã³ã®è€æ°ã®åæäœãèããããŸãã è€æ°ã®åæãåé¿ããå®è£
ã®äœ¿çšãæ€èšããŠãã ããã |
| CA1852: å éšåãã·ãŒã«ãã | ã¢ã»ã³ããªã®å€éšããã¢ã¯ã»ã¹ã§ããªãåã§ãããã«å«ãŸããã¢ã»ã³ããªå ã«ãµãã¿ã€ãããªãå Žåã¯ãã·ãŒã«ãããŸããã |
CA1853: äžèŠãªåŒã³åºã Dictionary.ContainsKey(key) |
Dictionary.Remove(key) ã§ Dictionary.ContainsKey(key) ãä¿è·ããå¿
èŠã¯ãããŸããã
Dictionary<TKey,TValue>.Remove(TKey) ã§ã¯ãããŒãååšãããã©ããã¯æ¢ã«ãã§ãã¯ãããŠãããååšããªãå Žåã¯ã¹ããŒãããŸããã |
CA1854: IDictionary.TryGetValue(TKey, out TValue) ã¡ãœãããåªå
ãã |
TryGetValue ãã§ãã¯ã«ãã£ãŠä¿è·ããã Dictionary ã€ã³ãã¯ãµãŒ ã¢ã¯ã»ã¹ãããContainsKeyãåªå
ããŸãã
ContainsKey ãšã€ã³ãã¯ãµãŒã®äž¡æ¹ãããŒãæ€çŽ¢ãããããTryGetValue ã䜿çšãããšè¿œå ã®æ€çŽ¢ãåé¿ã§ããŸãã |
| CA1855: Span<T>.Fill() ã®ä»£ããã« Span<T>.Clear() ã䜿çšãã | Span<T>.Clear() ãåŒã³åºãããã Span<T>.Fill(T) ãåŒã³åºããŠãã¹ãã³ã®èŠçŽ ã«æ¢å®å€ãå ¥åããæ¹ãå¹ççã§ãã |
| CA1856: ConstantExpected 屿§ã®äœ¿çšãæ£ãããªã | ConstantExpectedAttribute 屿§ããã©ã¡ãŒã¿ãŒã«æ£ããé©çšãããŠããŸããã |
| CA1857: æé©ãªããã©ãŒãã³ã¹ãåŸãã«ã¯ãã©ã¡ãŒã¿ãŒã«å®æ°ãå¿ èŠ | ConstantExpectedAttribute ã§æ³šéãä»ãããããã©ã¡ãŒã¿ãŒã«ç¡å¹ãªåŒæ°ãæž¡ãããŸããã |
| CA1858: IndexOf ã®ä»£ããã« StartsWith ã䜿ã | String.StartsWith ãåŒã³åºãããããString.IndexOf ãåŒã³åºããŠãæååãç¹å®ã®ãã¬ãã£ãã¯ã¹ã§å§ãŸããã©ããã確èªããæ¹ãå¹ççã§ãã |
| CA1859: ããã©ãŒãã³ã¹ã®åäžã®ããã«å¯èœãªå Žåã¯å ·è±¡åã䜿çšãã | ã³ãŒãã§äœ¿çšãããã€ã³ã¿ãŒãã§ã€ã¹åãŸãã¯æœè±¡åã«ãã£ãŠãäžèŠãªã€ã³ã¿ãŒãã§ã€ã¹åŒã³åºããä»®æ³åŒã³åºããçºçããŸãã |
CA1860: æ¡åŒµã¡ãœãã Enumerable.Any() 䜿çšããªãã§ãã ãã |
ã³ã¬ã¯ã·ã§ã³åã«ããããã®èŠçŽ ããããã©ããã倿ããã«ã¯ãLength ãåŒã³åºããããCountãIsEmptyããŸã㯠Enumerable.Any ãäœ¿ãæ¹ãå¹ççã§æç¢ºã§ã (å¯èœãªå Žå)ã |
| CA1861: åŒæ°ãšããŠå®æ°é åã䜿çšããªã | åŒæ°ãšããŠæž¡ããã宿°é
åã¯åå©çšãããªããããããã©ãŒãã³ã¹ã®ãªãŒããŒããããæå³ããŸãã ããã©ãŒãã³ã¹ãåäžãããããã«ãããŒã¿ãæœåºã㊠static readonly ãã£ãŒã«ãã«é
眮ããããšãæ€èšããŠãã ããã |
CA1862: StringComparison ã¡ãœããã®ãªãŒããŒããŒãã䜿çšããŠã倧æåãšå°æåãåºå¥ããªãæå忝èŒãå®è¡ãã |
ã³ãŒããã ToLower() ãŸã㯠ToUpper() ãåŒã³åºããŠå€§æåãšå°æåãåºå¥ããªãæå忝èŒãå®è¡ãããšãäžèŠãªå²ãåœãŠãå®è¡ãããŸãã |
CA1863: äœ¿çš CompositeFormat |
æžåŒèšå®ã®ã³ã¹ããåæžããã«ã¯ãCompositeFormat ã€ã³ã¹ã¿ã³ã¹ããã£ãã·ã¥ããString.Format ãŸã㯠StringBuilder.AppendFormat ã®åŒæ°ãšããŠäœ¿ããŸãã |
CA1864: Dictionary.TryAdd(TKey, TValue) ã¡ãœãããåªå
ãã |
Dictionary<TKey,TValue>.ContainsKey(TKey) ãš Dictionary<TKey,TValue>.Add ã¯äž¡æ¹ãšãæ€çŽ¢ãå®è¡ããŸãããããã¯åé·ã§ãã
Dictionary<TKey,TValue>.TryAddãåŒã³åºãæ¹ãå¹ççã§ãå€ã远å ããããã©ããã瀺ãboolãè¿ãããŸãã ããŒãæ¢ã«ååšããå ŽåãTryAdd ã¯ããŒã®å€ãäžæžãããŸããã |
| CA1865-CA1867: char åã®ãªãŒããŒããŒãã䜿çšãã | char åã®ãªãŒããŒããŒãã¯ã1 æåã®æååã«å¯ŸããŠããé«ãããã©ãŒãã³ã¹ãçºæ®ãããªãŒããŒããŒãã§ãã |
CA1868: ã»ããã«å¯Ÿãã Contains ã®äžèŠãªåŒã³åºã |
ISet<T>.Add(T) ãš ICollection<T>.Remove(T) ã¯äž¡æ¹ãšãæ€çŽ¢ãå®è¡ãããããICollection<T>.Contains(T) ã®äºåã®åŒã³åºãã¯åé·ã«ãªããŸãã Add(T) ãŸã㯠Remove(T) ãçŽæ¥åŒã³åºããšãé ç®ã远å ããããåé€ããããã瀺ãããŒã«å€ãè¿ããããããããå¹ççã§ãã |
CA1869: JsonSerializerOptions ã€ã³ã¹ã¿ã³ã¹ã®ãã£ãã·ã¥ãšåå©çš |
ã·ãªã¢ã«åãŸãã¯éã·ãªã¢ã«åã« JsonSerializerOptions ã®ããŒã«ã« ã€ã³ã¹ã¿ã³ã¹ã䜿çšãããšãã³ãŒããè€æ°åå®è¡ããããšãã«ãã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãå€§å¹ ã«äœäžããå¯èœæ§ããããŸããããã¯ãSystem.Text.Json ã«ãã£ãŠãã·ãªã¢ã«åé¢é£ã®ã¡ã¿ããŒã¿ãæå®ãããã€ã³ã¹ã¿ã³ã¹ã«å éšçã«ãã£ãã·ã¥ãããããã§ãã |
CA1870: ãã£ãã·ã¥ããã SearchValues ã€ã³ã¹ã¿ã³ã¹ã䜿çšãã |
ãã£ãã·ã¥ããã SearchValues<T> ã€ã³ã¹ã¿ã³ã¹ã䜿çšãããšãå€ã IndexOfAny ãŸã㯠ContainsAny ã«çŽæ¥æž¡ããããå¹ççã§ãã |
CA1871: null 蚱容æ§é äœã ArgumentNullException.ThrowIfNull ã«æž¡ããªãããã« |
ArgumentNullException.ThrowIfNull 㯠objectãåãå
¥ãããããnull 蚱容æ§é äœãæž¡ããšãå€ãããã¯ã¹åãããå¯èœæ§ããããŸãã |
CA1872: Convert.ToHexString ã«åºã¥ãåŒã³åºããã§ãŒã³ãããConvert.ToHexStringLowerãšBitConverter.ToStringãåªå
ããŸã |
ãã€ãã 16 鲿åå衚çŸã«ãšã³ã³ãŒãããå Žåã¯ã Convert.ToHexString ãŸã㯠Convert.ToHexStringLower ã䜿çšããŸãã ãããã®ã¡ãœããã¯ãããã·ã¥ã BitConverter.ToString ã眮ãæããããã« String.Replace ã String.ToLower ãšçµã¿åãããŠäœ¿çšããããããå¹ççã§ã¡ã¢ãªå²ãåœãŠå¹çã«ãåªããŠããŸãã |
| CA1873: ã³ã¹ãã®é«ããã°èšé²ãåé¿ãã | å€ãã®å Žåããã°èšé²ãç¡å¹ã«ãªã£ãŠãããããã° ã¬ãã«ã«èšå®ãããŠãããããåŒæ°ã®ãã°èšé²ã«äžèŠãªè©äŸ¡ãè¡ãããŸãã |
CA1874: äœ¿çš Regex.IsMatch |
Regex.IsMatch 㯠Regex.Match(...).Success ãããç°¡åãã€é«éã§ãã |
CA1875: äœ¿çš Regex.Count |
Regex.Count 㯠Regex.Matches(...).Count ãããç°¡åãã€é«éã§ãã |
| CA1877: 'Path.Combine' ãŸã㯠'Path.Join' ãªãŒããŒããŒãã䜿çšãã | è€æ°ã® Path.Combine æäœãŸã㯠Path.Join æäœãå
¥ãåã«ãªã£ãŠããå Žåã¯ãããã©ãŒãã³ã¹ãšèªã¿ããããåäžãããããã«ã1 ã€ã®æäœã«æããããããšãã§ããŸãã |
| CA1878: èªã¿åãæã®é åãã£ãŒã«ãããã ReadOnlySpan ããããã£ãåªå ãã | ãã©ã€ããŒãéçèªã¿åãå°çšå®æ°é
åãã£ãŒã«ãã¯ãC# ã³ã³ãã€ã©ããããŒãžãé
åã®å²ãåœãŠãåé¿ã§ããããã«ã ReadOnlySpan<T> ããããã£ã«çœ®ãæããããšãã§ããŸãã |
| CA2000:ã¹ã³ãŒãã倱ãåã«ãªããžã§ã¯ããç Žæ£ | äŸå€çãªã€ãã³ããçºçãããšãªããžã§ã¯ãã®ãã¡ã€ãã©ã€ã¶ãŒãå®è¡ã§ããªãããããªããžã§ã¯ãã«å¯Ÿãããã¹ãŠã®åç §ãã¹ã³ãŒãå€ã«ãªãåã«ããªããžã§ã¯ããæç€ºçã«ç Žæ£ããå¿ èŠããããŸãã |
| CA2002: è奿§ã®åŒ±ããªããžã§ã¯ããããã¯ããªãããš | ã¢ããªã±ãŒã·ã§ã³ ãã¡ã€ã³ã®å¢çãè¶ããŠãªããžã§ã¯ãã«çŽæ¥ã¢ã¯ã»ã¹ã§ããå Žåããã®ãªããžã§ã¯ãã® ID ã¯äžååãšè¡šçŸãããŸãã ã¹ã¬ããã§ ID ãäžååãªãªããžã§ã¯ããããã¯ããããšãããšããããã¯ãããããšããããŸããããšãã°ãç°ãªãã¢ããªã±ãŒã·ã§ã³ ãã¡ã€ã³ã®å¥ã¹ã¬ããã§ãæ¢ã«åããªããžã§ã¯ããããã¯ãããŠããå Žåã§ãã |
| CA2007:ã¿ã¹ã¯ãçŽæ¥åŸ æ©ããªãã§ãã ãã | éåæã¡ãœãã㯠ãçŽæ¥TaskããŸãã éåæã¡ãœããã§ Task ãçŽæ¥åŸ æ©ãããšãã¿ã¹ã¯ãäœæããã®ãšåãã¹ã¬ããã§ç¶ç¶ãçºçããŸãã ãã®åäœã¯ããã©ãŒãã³ã¹ã®é¢ã§å€§ããªè² æ ãçãããã®çµæ UI ã¹ã¬ããã§ãããããã¯ãçºçããå¯èœæ§ããããŸãã Task.ConfigureAwait(Boolean) ãåŒã³åºããŠç¶ç¶ã®æå³ã瀺ãããšãæ€èšããŠãã ããã |
| CA2008:TaskScheduler ãæž¡ããã«ã¿ã¹ã¯ãäœæããªã | ã¿ã¹ã¯ã®äœæãŸãã¯ç¶ç¶ã®æäœã§ãTaskScheduler ãã©ã¡ãŒã¿ãŒãæå®ããªãã¡ãœãã ãªãŒããŒããŒãã䜿çšããŠããŸãã |
| CA2009: ImmutableCollection å€ã«å¯Ÿã㊠ToImmutableCollection ãåŒã³åºããªãã§ãã ãã |
ToImmutable ã¡ãœããã System.Collections.Immutable åå空éãã倿Žã§ããªãã³ã¬ã¯ã·ã§ã³ã§äžå¿
èŠã«åŒã³åºãããŸããã |
| CA2011: ã»ãã¿ãŒå ã§ããããã£ãå²ãåœãŠãŸãã | ããããã£èªèº«ã® set ã¢ã¯ã»ãµãŒå ã§ããã®ããããã£ã«èª€ã£ãŠå€ãä»£å ¥ãããŸããã |
| CA2012: ValueTask ãæ£ãã䜿çšããå¿ èŠããããŸã | ã¡ã³ããŒã®åŒã³åºãããè¿ããã ValueTasks ã¯ãçŽæ¥åŸ æ©ãããå¿ èŠããããŸãã ValueTask ãè€æ°å䜿çšããããšããããå®äºããåã«çµæã«çŽæ¥ã¢ã¯ã»ã¹ããããšãããšãäŸå€ãç Žæãçºçããå¯èœæ§ããããŸãã ãã®ãã㪠ValueTask ãç¡èŠãããšãæ©èœãã°ã瀺ãããããã©ãŒãã³ã¹ãäœäžããå¯èœæ§ããããŸãã |
| CA2013: å€ã®åãšå ±ã« ReferenceEquals ã䜿çšããªãã§ãã ãã | System.Object.ReferenceEquals ã䜿çšããŠå€ãæ¯èŒãããšãã«ãobjA ãš objB ãå€ã®åã§ããå Žåããã® 2 ã€ã¯ ReferenceEquals ã¡ãœããã«æž¡ãããåã«ããã¯ã¹åãããŸãã ã€ãŸããobjA ãš objB ãåãå€ã®åã®ã€ã³ã¹ã¿ã³ã¹ã衚ããŠããå Žåã§ããReferenceEquals ã¡ãœãããã㯠false ãè¿ãããŸãã |
| CA2014: ã«ãŒãå ã§ stackalloc ã䜿çšããŸãã | stackalloc ã«ãã£ãŠå²ãåœãŠãããã¹ã¿ãã¯é åã¯ãçŸåšã®ã¡ãœããåŒã³åºãã®çµäºæã«ã®ã¿è§£æŸãããŸãã ãããã«ãŒãå ã§äœ¿çšãããšãã¹ã¿ãã¯ãç¡éã«å¢å ããæçµçã«ã¹ã¿ã㯠ãªãŒããŒãããŒç¶æ ãçºçããå¯èœæ§ããããŸãã |
| CA2015: MemoryManager ããæŽŸçããåã«ã¯ãã¡ã€ãã©ã€ã¶ãŒãå®çŸ©ããŸãã<T> | MemoryManager<T>ããæŽŸçããåã«ãã¡ã€ãã©ã€ã¶ãŒã远å ãããšãSpan<T>ããŸã 䜿çšãããŠããéã«ã¡ã¢ãªãè§£æŸã§ããå ŽåããããŸãã |
| CA2016: CancellationToken ãã©ã¡ãŒã¿ãŒãåãåãã¡ãœããã«è»¢éãã |
CancellationToken ãã©ã¡ãŒã¿ãŒã 1 ã€ãåãã¡ãœããã«è»¢éããŠæäœã®ãã£ã³ã»ã«éç¥ãé©åã«äŒéãããããã«ãããããŸã㯠CancellationToken.None ãæç€ºçã«æž¡ããŠæå³çã«ããŒã¯ã³ãäŒéããªãããšãæå®ããŸãã |
| CA2017: ãã©ã¡ãŒã¿ãŒ ã«ãŠã³ããäžèŽããŸãã | ãã° ã¡ãã»ãŒãž ãã³ãã¬ãŒãã§æå®ããããã©ã¡ãŒã¿ãŒã®æ°ããååä»ããã¬ãŒã¹ãã«ããŒã®æ°ãšäžèŽããŸããã |
CA2018: count ã«å¯Ÿãã Buffer.BlockCopy ã®åŒæ°ã§ãã³ããŒãããã€ãæ°ãæå®ããå¿
èŠããã |
Buffer.BlockCopy ã䜿çšãããšããcount åŒæ°ã§ã¯ãã³ããŒãããã€ãæ°ãæå®ããŸãã
Array.Length ã¯ããã®èŠçŽ ã®ãµã€ãºãæ£ç¢ºã« 1 ãã€ãã®é
åäžã® count èŠçŽ ã«ã®ã¿äœ¿çšããŸãã
byteãsbyteãããã³ bool ã«ã¯ããµã€ãºã 1 ãã€ãã®èŠçŽ ããããŸãã |
CA2019: ThreadStatic ãã£ãŒã«ãã§ã€ã³ã©ã€ã³åæåã䜿çšããªãã§ãã ãã |
ThreadStaticAttribute ã§æ³šéãä»ãããããã£ãŒã«ãã¯ã€ã³ã©ã€ã³ã§åæåãããããŸãã¯æç€ºçã« static (Visual Basic ã§ã¯ Shared) ã³ã³ã¹ãã©ã¯ã¿ãŒã§åæåãããŸãã |
| CA2020: IntPtr/UIntPtr ã®çµã¿èŸŒã¿æŒç®åã«ãã£ãŠçºçããåäœå€æŽã鲿¢ãã | .NET 7 ã§è¿œå ãããããã€ãã®çµã¿èŸŒã¿æŒç®åã®åäœãã.NET 6 以åã®ããŒãžã§ã³ã®ãŠãŒã¶ãŒå®çŸ©æŒç®åãšã¯ç°ãªããŸãã ãªãŒããŒãããŒäžã« unchecked ã³ã³ããã¹ãã§ã¹ããŒããŠããäžéšã®æŒç®åããchecked ã³ã³ããã¹ãå ã§ã©ãããããªãéããã¹ããŒããªããªããŸãã 以å㯠checked ã³ã³ããã¹ãã§ã¹ããŒããªãã£ãäžéšã®æŒç®åããunchecked ã³ã³ããã¹ãå ã§ã©ãããããªãéãã¹ããŒããããã«ãªããŸãã |
| CA2021: äºææ§ã®ãªãåãæå®ã㊠Enumerable.Cast<T> ãŸã㯠Enumerable.OfType<T> ãåŒã³åºããªã | Enumerable.Cast<TResult>(IEnumerable) ãŸã㯠Enumerable.OfType<TResult>(IEnumerable) ã®åŒã³åºãã§ãå ¥åã³ã¬ã¯ã·ã§ã³ã®åãšäºææ§ã®ãªãåãã©ã¡ãŒã¿ãŒãæå®ãããŠããŸãã |
| CA2022: Stream.Read ã§èªã¿åããäžæ£ç¢ºã«ããªãã§ãã ãã |
Stream.ReadãåŒã³åºããšãèŠæ±ããããã€ãæ°ãããå°ãªããã€ãæ°ãè¿ãããå¯èœæ§ããããæ»ãå€ããã§ãã¯ãããŠããªãå Žåãã³ãŒãã®ä¿¡é Œæ§ãäœäžããå¯èœæ§ããããŸãã |
| CA2023: ã¡ãã»ãŒãž ãã³ãã¬ãŒãã®æ³¢æ¬åŒ§ãç¡å¹ã§ã | ã¡ãã»ãŒãž ãã³ãã¬ãŒãã«ååšããäžãã£ããç¡å¹ã§ãã ã¡ãã»ãŒãž ãã³ãã¬ãŒãå ã®æ³¢æ¬åŒ§ã¯ããã¹ãŠæå¹ãªéå§æ³¢æ¬åŒ§ããã³çµäºæ³¢æ¬åŒ§ã§ãããããšã¹ã±ãŒããããŠããããšã確èªããŠãã ããã |
| CA2024: éåæã¡ãœããã§ StreamReader.EndOfStream ã䜿çšããªãã§ãã ãã | ãã®ãããã㣠StreamReader.EndOfStream ã¯ãããŒã¿ããããã¡ãŒã«æ ŒçŽãããŠããªãå Žåã«ãæå³ããªãåæããããã³ã°ãåŒãèµ·ããå¯èœæ§ããããŸãã 代ããã«ãStreamReader.ReadLineAsync() ãçŽæ¥äœ¿çšããŸããã¹ããªãŒã ã®æ«å°Ÿã«å°éãããš null ãè¿ãããŸãã |
CA2025: IDisposable ã€ã³ã¹ã¿ã³ã¹ãæªç¢ºèªã®ã¿ã¹ã¯ã«æž¡ããªãã§ãã ãã |
éåæã¿ã¹ã¯ãIDisposableã€ã³ã¹ã¿ã³ã¹ã䜿çšãããšãç Žæ£ãããåŸã§ããããã®ã€ã³ã¹ã¿ã³ã¹ãé·ã䜿çšããå ŽåããããŸãã ã€ã³ã¹ã¿ã³ã¹ãç Žæ£ãããåã«ããããã®ã€ã³ã¹ã¿ã³ã¹ã䜿çšããã¿ã¹ã¯ãå®äºããŠããããšã確èªããŸãã |
| CA2026: JsonDocument.Parse() ããã JsonElement.Parse ãåªå ããŸããRootElement |
JsonElement.ParseãåŒã³åºãããããJsonDocument.Parse().RootElementãçŽæ¥åŒã³åºãæ¹ãå¹ççã§ãã |
| CA2100:SQL ã¯ãšãªã®ã»ãã¥ãªãã£è匱æ§ãç¢ºèª | ã¡ãœããã«æž¡ãããæåååŒæ°ããæ§ç¯ãããæååã䜿çšã㊠System.Data.IDbCommand.CommandText ããããã£ãèšå®ãããŠããŸãã ãã®èŠåã§ã¯ãæåååŒæ°ã«ãŠãŒã¶ãŒå ¥åãå«ãŸããŠããããšãæ³å®ãããŠããŸãã ãŠãŒã¶ãŒå ¥åããæ§ç¯ããã SQL ã³ãã³ãæååã«ã¯ãSQL æ³šå ¥æ»æã«å¯Ÿããè匱æ§ããããŸãã |
| CA2101: P/Invoke æåååŒæ°ã«å¯ŸããŠããŒã·ã£ãªã³ã°ãæå®ããŸã | ãã©ãããã©ãŒã åŒã³åºãã¡ã³ããŒããéšåä¿¡é Œã®åŒã³åºãå ãèš±å¯ããæååãã©ã¡ãŒã¿ãŒãæã¡ãããã«ãã®æååãæç€ºçã«ããŒã·ã£ãªã³ã°ããŠããŸããã ããã¯ã»ãã¥ãªãã£äžã®è匱æ§ãšãªãå¯èœæ§ããããŸãã |
| CA2109:衚瀺ããã€ãã³ã ãã³ãã©ãŒã確èªããŸã | ãããªãã¯ãŸãã¯ãããã¯ãã®ã€ãã³ã ãã³ãã©ãŒ ã¡ãœãããæ€åºãããŸããã ã€ãã³ã ãã³ãã©ãŒ ã¡ãœããã¯ã絶察ã«å¿ èŠãªå Žåãé€ãå ¬éããªãã§ãã ããã |
| CA2119:ãã©ã€ããŒã ã€ã³ã¿ãŒãã§ã€ã¹ãæºããã¡ãœãããã·ãŒã«ããŸã | ç¶æ¿å¯èœãªãããªãã¯åã«ãããinternal (Visual Basic ã§ã¯ Friend) ã€ã³ã¿ãŒãã§ã€ã¹ã®ãªãŒããŒã©ã€ãå¯èœãªã¡ãœããå®è£ ãæäŸãããŸãã ãã®èŠåéåãä¿®æ£ããã«ã¯ãã¢ã»ã³ããªã®å€åŽã§ã¡ãœããããªãŒããŒã©ã€ããããªãããã«ããŸãã |
| CA2153: ç Žæç¶æ äŸå€ã®åŠçãåé¿ããŸã | ç Žæç¶æ äŸå€ (CSE) ã¯ãã¡ã¢ãªã®ç Žæãããã»ã¹å ã«ååšããŠããããšã瀺ããŸãã ããã»ã¹ãã¯ã©ãã·ã¥ãããã®ã§ã¯ãªããããã®äŸå€ããã£ããããããšã¯ãæ»æè ãç Žæããã¡ã¢ãªé åã«ã»ãã¥ãªãã£äžã®åŒ±ç¹ãèŠåºãããšãã§ããå Žåã«ãã»ãã¥ãªãã£äžã®è匱æ§ãšãªãå¯èœæ§ããããŸãã |
| CA2200: ã¹ã¿ãã¯ã®è©³çްãä¿æããããã«åã¹ããŒãã | äŸå€ãåéåºãããthrow æã§ãã®äŸå€ãæç€ºçã«æå®ãããŸãã throw ã¹ããŒãã¡ã³ãã§äŸå€ãæå®ããŠäŸå€ãåã¹ããŒããããšãäŸå€ãã¹ããŒããå ã®ã¡ãœãããšçŸåšã®ã¡ãœããã®éã§åŒã³åºãããã¡ãœããã®äžèЧã¯å€±ãããŸãã |
| CA2201: äºçŽãããäŸå€ã®çš®é¡ãçºçãããŸãã | ããã«ãããå ã®ãšã©ãŒã®æ€åºããã³ãããã°ãå°é£ã«ãªããŸãã |
| CA2207:å€åã®ã¹ã¿ãã£ã㯠ãã£ãŒã«ãã®ã€ã³ã©ã€ã³ãåæåããŸã | å€åã§æç€ºçãªéçã³ã³ã¹ãã©ã¯ã¿ãŒã宣èšããŠããŸãã ãã®èŠåéåãä¿®æ£ããã«ã¯ãéçããŒã¿ã宣èšããããšããããã³éçã³ã³ã¹ãã©ã¯ã¿ãŒãåé€ãããšãã«ãéçããŒã¿ããã¹ãŠåæåããŸãã |
| CA2208:åŒæ°ã®äŸå€ãæ£ããã€ã³ã¹ã¿ã³ã¹åããŸã |
ArgumentExceptionãŸãã¯æŽŸçããäŸå€åã®æ¢å®ã® (ãã©ã¡ãŒã¿ãŒãªãã®) ã³ã³ã¹ãã©ã¯ã¿ãŒã«å¯ŸããŠåŒã³åºããè¡ãããããArgumentExceptionããæŽŸçããäŸå€åã®ãã©ã¡ãŒã¿ãŒåãããã³ã³ã¹ãã©ã¯ã¿ãŒã«æ£ãããªãæåååŒæ°ãæž¡ãããŸãã |
| CA2211:é宿°ãã£ãŒã«ãã¯è¡šç€ºãããŸãã | 宿°ã§ãèªã¿åãå°çšã§ããªãéçãã£ãŒã«ãã¯ãã¹ã¬ãã ã»ãŒãã§ã¯ãããŸããã ãã®ãããªãã£ãŒã«ããžã®ã¢ã¯ã»ã¹ã¯ãæ éã«å¶åŸ¡ããŠãã ããããŸããã¯ã©ã¹ ãªããžã§ã¯ããžã®ã¢ã¯ã»ã¹ãåæããã«ã¯ãé«åºŠãªããã°ã©ãã³ã°æè¡ãå¿ èŠã§ãã |
| CA2213:ç Žæ£å¯èœãªãã£ãŒã«ãã¯ç Žæ£ãããªããã°ãªããŸãã | System.IDisposable ãå®è£ ããåããIDisposable ãå®è£ ããåãæã€ãã£ãŒã«ãã宣èšããŠããŸãã ãã®ãã£ãŒã«ãã® Dispose ã¡ãœããã¯ã宣èšããŠããåã® Dispose ã¡ãœããããåŒã³åºãããŠããŸããã |
| CA2214:ã³ã³ã¹ãã©ã¯ã¿ãŒã®ãªãŒããŒã©ã€ãå¯èœãªã¡ãœãããåŒã³åºããŸãã | ã³ã³ã¹ãã©ã¯ã¿ãŒãä»®æ³ã¡ãœãããåŒã³åºããšãã¡ãœãããåŒã³åºãã€ã³ã¹ã¿ã³ã¹ã®ã³ã³ã¹ãã©ã¯ã¿ãŒãå®è¡ãããŠããªãå¯èœæ§ããããŸãã |
| CA2215:Dispose ã¡ãœãããåºåºã¯ã©ã¹ã® Dispose ãåŒã³åºãå¿ èŠããããŸã | åãç Žæ£å¯èœãªåããç¶æ¿ããŠããå Žåã¯ããã®åèªèº«ã® Dispose ã¡ãœããããåºåºåã® Dispose ã¡ãœãããåŒã³åºãå¿ èŠããããŸãã |
| CA2216:ç Žæ£å¯èœãªåã¯ãã¡ã€ãã©ã€ã¶ãŒã宣èšããªããã°ãªããŸãã | System.IDisposable ãå®è£ ããã¢ã³ãããŒãž ãªãœãŒã¹ã®äœ¿çšãææ¡ãããã£ãŒã«ããå«ãŸããåããObject.Finalize ã§èšè¿°ãããŠããããã«ãã¡ã€ãã©ã€ã¶ãŒãå®è£ ããŠããŸããã |
| CA2217: enums ã FlagsAttribute ã«èšå®ããŸãã | å€éšããåç §ã§ããåæåã FlagsAttribute ã§ããŒã¯ããããã®åæåã«ã2 ã®çޝä¹ã§ããªãããã®åæåã§å®çŸ©ãããŠããä»ã®å€ã®çµã¿åããã§ããªãå€ã 1 ã€ä»¥äžå«ãŸããŠããŸãã |
| CA2218: Equals ããªãŒããŒã©ã€ãããå Žåã¯ãGetHashCode ããªãŒããŒã©ã€ãããŸã | ãããªãã¯åã§ System.Object.Equals ããªãŒããŒã©ã€ãããŠããŸãããSystem.Object.GetHashCode ããªãŒããŒã©ã€ãããŠããŸããã |
| CA2219: exception å¥ã«äŸå€ãçºçãããªãã§ãã ãã | finally å¥ãŸã㯠fault å¥ã§äŸå€ãçºçãããšãã¢ã¯ãã£ããªäŸå€ãæ°ããäŸå€ã«ãã£ãŠé ãããŸãã filter å¥ã§äŸå€ãçºçãããšãã©ã³ã¿ã€ã ããã®äŸå€ãæé»çã«ãã£ããããŸãã ããã«ãããå ã®ãšã©ãŒã®æ€åºããã³ãããã°ãå°é£ã«ãªããŸãã |
| CA2224: ç倿Œç®åããªãŒããŒããŒãããå Žå㯠Equals ããªãŒããŒã©ã€ãããŸã | ãããªãã¯åã§ç倿Œç®åãå®è£ ãããŠããŸãããSystem.Object.Equals ããªãŒããŒã©ã€ããããŠããŸããã |
| CA2225:æŒç®åãªãŒããŒããŒãã«ã¯ååä»ãããã代æ¿ãååšããŸã | æŒç®åã®ãªãŒããŒããŒããæ€åºãããäºæ³ãããååã®ä»£æ¿ã¡ãœãããæ€åºãããŸããã§ããã ååä»ãã®ä»£æ¿ã¡ã³ããŒã«ãã£ãŠãæŒç®åãšåãæ©èœãžã¢ã¯ã»ã¹ã§ããããã«ãªããŸãããŸããæŒç®åã®ãªãŒããŒããŒãããµããŒãããŠããªãèšèªã§ããã°ã©ãã³ã°ããå Žåã§ãããã®ä»£æ¿ã¡ã³ããŒã䜿çšã§ããŸãã |
| CA2226:æŒç®åã¯å¯Ÿç§°åãªãŒããŒããŒããå«ãŸãªããã°ãªããŸãã | åã§ç倿Œç®åãŸãã¯éç倿Œç®åãå®è£ ããéã®åããããæŒç®åãå®è£ ããŠããŸããã |
| CA2227:Collection ããããã£ã¯èªã¿åãå°çšã§ãªããã°ãªããŸãã | æžã蟌ã¿å¯èœãªã³ã¬ã¯ã·ã§ã³ ããããã£ã«ããããŠãŒã¶ãŒã¯ã³ã¬ã¯ã·ã§ã³ãç°ãªãã³ã¬ã¯ã·ã§ã³ã§çœ®æã§ããŸãã èªã¿åãå°çšããããã£ã¯ãã³ã¬ã¯ã·ã§ã³ã眮æã§ããªãããã«ããŸãããåå¥ã®ã¡ã³ããŒãèšå®ãããããšã¯åé¿ã§ããŸããã |
| CA2229:ã·ãªã¢ã«åã³ã³ã¹ãã©ã¯ã¿ãŒãå®è£ ããŸã | ãã®èŠåéåãä¿®æ£ããã«ã¯ãã·ãªã¢ã«åã³ã³ã¹ãã©ã¯ã¿ãŒãå®è£ ããŸãã sealed ã¯ã©ã¹ã®å Žåã¯ã³ã³ã¹ãã©ã¯ã¿ãŒã private ã«ããããã§ãªãå Žå㯠protected ã«ããŸãã |
| CA2231: ValueType.Equals ããªãŒããŒã©ã€ãããéã¯ãç倿Œç®åããªãŒããŒããŒããã | å€åã¯ãObject.Equals ããªãŒããŒã©ã€ãããŠããŸãããç倿Œç®åãå®è£ ããŠããŸããã |
| CA2234:æååã®ä»£ããã« System.Uri ãªããžã§ã¯ããæž¡ããŸã | "uri"ã"URI"ã"urn"ã"URN"ã"url"ããŸã㯠"URL" ãšããååãæã€æååãã©ã¡ãŒã¿ãŒãæå®ãããŠããã¡ãœããã«å¯ŸããŠãåŒã³åºããè¡ãããŸããã ãã®ã¡ãœããã®å宣èšã«å¯Ÿå¿ããã¡ãœããã®ãªãŒããŒããŒããååšããããã«å¯Ÿã㊠System.Uri ãã©ã¡ãŒã¿ãŒãæå®ãããŠããŸãã |
| CA2235:ãã¹ãŠã®ã·ãªã¢ã«åäžå¯èœãªãã£ãŒã«ããèšå®ããŸã | ã·ãªã¢ã«åã§ããªãåã®ã€ã³ã¹ã¿ã³ã¹ ãã£ãŒã«ãããã·ãªã¢ã«åã§ããåã§å®£èšãããŠããŸãã |
| CA2237:ISerializable åã SerializableAttribute ã«èšå®ããŸã | åãå ±éèšèªã©ã³ã¿ã€ã ã§ã·ãªã¢ã«åã§ãããšèªèãããããã«ããã«ã¯ãåã SerializableAttribute 屿§ã§ããŒã¯ããå¿ èŠããããŸããåã ISerializable ã€ã³ã¿ãŒãã§ã€ã¹ã®å®è£ ãéããŠã«ã¹ã¿ã ã®ã·ãªã¢ã«åã«ãŒãã³ã䜿çšããŠããå Žåã§ããããŒã¯ããå¿ èŠããããŸãã |
| CA2241:æžåŒèšå®ã¡ãœããã«æ£ããåŒæ°ãæäŸ | System.String.Format ã«æž¡ãããåŒæ° format ã«ãåãªããžã§ã¯ãã®åŒæ°ã«å¯Ÿå¿ããæžåŒæå®é ç®ãå«ãŸããŠããŸãã (ãã®éãèããããŸã)ã |
| CA2242: NaN ãã©ãããæ£ãããã¹ããã | ãã®åŒã Single.Nan ãŸã㯠Double.Nan ã«å¯ŸããŠå€ããã¹ãããŠããŸãã å€ããã¹ãããã«ã¯ãSingle.IsNan(Single) ãŸã㯠Double.IsNan(Double) ã䜿çšããŸãã |
| CA2243:屿§æååãªãã©ã«ã¯ãæ£ããè§£æããå¿ èŠããããŸã | 屿§ã®ãªãã©ã«æååãã©ã¡ãŒã¿ãŒã URLãGUIDããŸãã¯ããŒãžã§ã³ãšããŠæ£ããè§£æãããŸããã |
| CA2244: ã€ã³ããã¯ã¹ä»ãèŠçŽ ã®åæåãéè€ãããŸãã | ãªããžã§ã¯ãåæååã«ã宿°ã€ã³ããã¯ã¹ãåãã€ã³ããã¯ã¹ä»ãèŠçŽ ã®åæååãè€æ°ãããŸãã æåŸã®åæååãé€ããã¹ãŠã®åæååã¯åé·ã§ãã |
| CA2245: ããããã£ãããèªäœã«å²ãåœãŠãŸãã | ããããã£ã誀ã£ãŠããèªäœã«å²ãåœãŠãããŸããã |
| CA2246: åãã¹ããŒãã¡ã³ãã«ã·ã³ãã«ãšãã®ã¡ã³ããŒãå²ãåœãŠãŸãã | åãã¹ããŒãã¡ã³ãã§ã·ã³ãã«ãšãã®ã¡ã³ããŒãã€ãŸããã£ãŒã«ããŸãã¯ããããã£ãä»£å ¥ããããšã¯æšå¥šãããŠããŸããã ã¡ã³ã㌠ã¢ã¯ã»ã¹ãä»£å ¥åã®ã·ã³ãã«ã®å€ãå€ã䜿çšããã®ãããã®ã¹ããŒãã¡ã³ãã®ä»£å ¥ããã®æ°ããå€ã䜿çšããã®ããæç¢ºã§ã¯ãããŸããã |
| CA2247: TaskCompletionSource ã³ã³ã¹ãã©ã¯ã¿ãŒã«æž¡ãããåŒæ°ã¯ãTaskContinuationOptions åæåã§ã¯ãªããTaskCreationOptions åæåã«ããå¿ èŠããããŸã | TaskCompletionSource ã«ã¯ãåºã«ãªãã¿ã¹ã¯ãå¶åŸ¡ãã TaskCreationOptions ã䜿çšããã³ã³ã¹ãã©ã¯ã¿ãŒãšããã®ã¿ã¹ã¯ã«æ ŒçŽãããŠãããªããžã§ã¯ãã®ç¶æ ã䜿çšããã³ã³ã¹ãã©ã¯ã¿ãŒããããŸãã TaskCreationOptions ã®ä»£ããã« TaskContinuationOptions ã誀ã£ãŠæž¡ããšãåŒã³åºãã§ãªãã·ã§ã³ãç¶æ ãšããŠåŠçãããŸãã |
| CA2248: æ£ãã enum åŒæ°ã Enum.HasFlag ã«æå®ããŸã |
HasFlag ã¡ãœããã«åŒæ°ãšããŠæž¡ãããåæåãåŒã³åºãå
ã®åæåãšç°ãªããŸãã |
| CA2249:String.IndexOf ã®ä»£ããã« String.Contains ã䜿çšããããšãæ€èšããŸã | éšåæååãååšãããã©ããã確èªããããã«çµæã䜿çšãã string.IndexOf ã®åŒã³åºãã¯ãstring.Contains ã§çœ®ãæããããšãã§ããŸãã |
CA2250: ThrowIfCancellationRequested ã䜿çšããŸã |
ThrowIfCancellationRequested ã¯ãããŒã¯ã³ãåãæ¶ãããŠãããã©ãããèªåçã«ãã§ãã¯ãããããŠããå Žå㯠OperationCanceledException ãã¹ããŒããŸãã |
CA2251: String.Equals ã®ä»£ããã« String.Compare ã䜿çšããŸã |
String.Equals ã®çµæã 0 ãšæ¯èŒãã代ããã«ãString.Compare ã䜿çšããã»ããããæç¢ºã§ãããéãå¯èœæ§ããããŸãã |
| CA2252: ãã¬ãã¥ãŒæ©èœããªããã€ã³ãã | ãã¬ãã¥ãŒ API ã䜿çšããåã«ããã¬ãã¥ãŒæ©èœããªããã€ã³ããŸãã |
| CA2253: ååä»ããã¬ãŒã¹ãã«ããŒãæ°å€ã«ããããšã¯ã§ããŸãã | ãã° ã¡ãã»ãŒãž ãã³ãã¬ãŒãã®ååä»ããã¬ãŒã¹ãã«ããŒã¯ãæ°åã®ã¿ã§æ§æããããšã¯ã§ããŸããã |
| CA2254: ãã³ãã¬ãŒãã¯éçãªåŒã«ããå¿ èŠããããŸã | ãã° ã¡ãã»ãŒãž ãã³ãã¬ãŒãã¯ãåŒã³åºãã«ãã£ãŠç°ãªãã¹ãã§ã¯ãããŸããã |
CA2255: ModuleInitializer 屿§ãã©ã€ãã©ãªå
ã§äœ¿çšããªãã§ãã ãã |
ã¢ãžã¥ãŒã«åæååã¯ãã¢ããªã±ãŒã·ã§ã³ ã³ãŒãã®å®è¡ãéå§ãããåã«ã¢ããªã±ãŒã·ã§ã³ã®ã³ã³ããŒãã³ããåæåãããããã«ããããã«ãã¢ããªã±ãŒã·ã§ã³ ã³ãŒãã§äœ¿çšããããšãæ³å®ããŠããŸãã |
| CA2256: 芪ã€ã³ã¿ãŒãã§ã€ã¹ã§å®£èšããããã¹ãŠã®ã¡ã³ããŒã¯ãDynamicInterfaceCastableImplementation 屿§ã€ã³ã¿ãŒãã§ã€ã¹ã«å®è£ ãããŠããå¿ èŠããããŸã |
DynamicInterfaceCastableImplementationAttribute ã®å±æ§ãããåã¯ãIDynamicInterfaceCastable åãå®è£
ããåã®ã€ã³ã¿ãŒãã§ã€ã¹å®è£
ãšããŠæ©èœããŸãã çµæãšããŠãç¶æ¿ãããã€ã³ã¿ãŒãã§ã€ã¹ã«å®çŸ©ãããŠãããã¹ãŠã®ã¡ã³ããŒã®å®è£
ãæäŸããå¿
èŠããããŸããIDynamicInterfaceCastable ãå®è£
ããåããã¯ãä»ã®æ¹æ³ã§ã¯ãããæäŸãããªãããã§ãã |
CA2257: DynamicInterfaceCastableImplementationAttribute ãæã€ã€ã³ã¿ãŒãã§ãŒã¹ã§å®çŸ©ãããã¡ã³ããŒã¯ static ããå¿
èŠããããŸãã |
IDynamicInterfaceCastableãå®è£
ããåã¯ã¡ã¿ããŒã¿ã«åçã€ã³ã¿ãŒãã§ã€ã¹ãå®è£
ããªãå¯èœæ§ãããããããã®åã§å®çŸ©ãããŠããæç€ºçãªå®è£
ã§ã¯ãªãã€ã³ã¹ã¿ã³ã¹ ã€ã³ã¿ãŒãã§ã€ã¹ ã¡ã³ããŒã®åŒã³åºãã¯å®è¡æã«å€±æããå¯èœæ§ããããŸãã ã©ã³ã¿ã€ã ãšã©ãŒãåé¿ããããã«ãæ°ããã€ã³ã¿ãŒãã§ã€ã¹ ã¡ã³ããŒã static ããŒã¯ããŸãã |
CA2258: Visual Basic ã§ã® DynamicInterfaceCastableImplementation ã€ã³ã¿ãŒãã§ã€ã¹ã®æäŸã¯ãµããŒããããŠããŸãã |
æ©èœç DynamicInterfaceCastableImplementationAttribute 屿§ä»ãã€ã³ã¿ãŒãã§ã€ã¹ãæäŸããã«ã¯ãVisual Basic ã§ãµããŒããããŠããªã Default Interface Members æ©èœãå¿
èŠã«ãªããŸãã |
CA2259: ThreadStatic ãéçãã£ãŒã«ãã§ã®ã¿äœ¿çšãããŠããããšã確èªããŠãã ãã |
ThreadStaticAttribute ã¯ã static (Visual Basic ã®å Žå㯠Shared) ãã£ãŒã«ãã«ã®ã¿åœ±é¿ããŸãã ã€ã³ã¹ã¿ã³ã¹ ãã£ãŒã«ãã«é©çšããå Žåã 屿§ã¯åäœã«åœ±é¿ããŸããã |
| CA2260: æ±çšæ°åŠã€ã³ã¿ãŒãã§ã€ã¹ãæ£ããå®è£ ãã | æ±çšçãªæ°åŒã€ã³ã¿ãŒãã§ã€ã¹ã§ã¯ã掟çåèªäœãèªå·±å埩ããçš®é¡ã®ãã©ã¡ãŒã¿ãŒã«äœ¿çšããå¿ èŠããããŸãã |
CA2261: ConfigureAwaitOptions.SuppressThrowing ã Task<TResult> ãšå
±ã«äœ¿çšããªã |
ãã® ConfigureAwaitOptions.SuppressThrowing ãªãã·ã§ã³ã¯ãç¡å¹ãª Task<TResult> ãè¿ãå¯èœæ§ãããããããžã§ããªã㯠TResult ã§ã¯ãµããŒããããŠããŸããã |
CA2262: MaxResponseHeadersLength ãæ£ããèšå®ãã |
MaxResponseHeadersLength ã®å€ãæ£ããæå®ãããŠããããšã確èªããŸãã ãã®å€ã¯ãããã€ãåäœã§ãã |
| CA2263: åãããã£ãŠããå Žåã¯ãžã§ããªã㯠ãªãŒããŒããŒããåªå ãã | ãžã§ããªã㯠ãªãŒããŒããŒãã䜿çšãããšãåãããã£ãŠããå Žåã« System.Type åŒæ°ãæž¡ãæ¹ãé©ããŠããŸããããã¯ãã³ã³ãã€ã«æã®ãã§ãã¯ãæ¹åããããããã¯ãªãŒã³ã§ã¿ã€ã ã»ãŒããªã³ãŒããä¿é²ãããããã§ãã |
CA2264: ArgumentNullException.ThrowIfNull ã«ã¯ null 以å€ã®å€ãæž¡ããªãã§ãã ãã |
ArgumentNullException.ThrowIfNull ã¯ãæž¡ãããåŒæ°ã null ã®ãšãã«ã¹ããŒããŸãã null ã«ãªããªãæ§é äœããnameof() ããã³ new ãªã©ã®åŒãªã©ãç¹å®ã®æ§æã«ã€ããŠã¯ null ã«ãªãããšããªããããArgumentNullException.ThrowIfNull ã¯æ±ºããŠäŸå€ãã¹ããŒããããšã¯ãããŸããã |
CA2265: Span<T> ã null ãŸã㯠default ãšæ¯èŒããªãã§ãã ãã |
ã¹ãã³ãš null ãŸã㯠default ãæ¯èŒããŠããæå³ãããšããã«åäœããªãå ŽåããããŸãã
default
nullãªãã©ã«ã¯æé»çã«Span<T>.Emptyã«å€æãããŸãã |
CA2266: ãã¡ã€ã« ããŒã¹ã®ããã°ã©ã ãšã³ã㪠ãã€ã³ãã¯ã次ã§å§ãŸãå¿
èŠããããŸã #! |
ãã¡ã€ã«ããŒã¹ã®ããã°ã©ã ãè€æ°ã®ãã¡ã€ã«ã§æ§æãããŠããå Žåããšã³ã㪠ãã€ã³ã ãã¡ã€ã«ã¯ãä»ã®ã€ã³ã¯ã«ãŒã ãã¡ã€ã«ãšæç¢ºã«åºå¥ããããã«ãshebang (#!) è¡ã§å§ãŸãå¿
èŠããããŸãã |
| CA2267: ãã¡ã€ã« ããŒã¹ã®ããã°ã©ã ãã£ã¬ã¯ãã£ãå€ã®ç©ºçœæåãåŒçšç¬Šã§å²ã | ãã¡ã€ã« ããŒã¹ã®ããã°ã©ã #: ãã£ã¬ã¯ãã£ãã®å€ã«ã¯ãåŒçšç¬Šã§å²ãŸããŠããªã空çœãå«ãŸããŠããŸãã åŒçšç¬Šã§å²ãŸããŠããªã圢åŒã¯éæšå¥šã§ããã¯ã空çœãå«ãå€ãäºéåŒçšç¬Šã§å²ãã§ãæç¢ºã«è§£æãããããã«ããŸãã |
| CA2300:å®å šã§ã¯ãªããã·ãªã¢ã©ã€ã¶ãŒ BinaryFormatter ã䜿çšããªãã§ãã ãã | å®å šã§ãªãéã·ãªã¢ã©ã€ã¶ãŒã¯ãä¿¡é ŒãããŠããªãããŒã¿ãéã·ãªã¢ã«åãããšãã«è匱ã§ãã æ»æè ãã·ãªã¢ã«åãããããŒã¿ã倿ŽããŠäºæãããªãåã远å ããæªæã®ããå¯äœçšãæã€ãªããžã§ã¯ããæ¿å ¥ããå¯èœæ§ããããŸãã |
| CA2301:æåã« BinaryFormatter.Binder ãèšå®ããªãã§ BinaryFormatter.Deserialize ãåŒã³åºããªãã§ãã ãã | å®å šã§ãªãéã·ãªã¢ã©ã€ã¶ãŒã¯ãä¿¡é ŒãããŠããªãããŒã¿ãéã·ãªã¢ã«åãããšãã«è匱ã§ãã æ»æè ãã·ãªã¢ã«åãããããŒã¿ã倿ŽããŠäºæãããªãåã远å ããæªæã®ããå¯äœçšãæã€ãªããžã§ã¯ããæ¿å ¥ããå¯èœæ§ããããŸãã |
| CA2302:BinaryFormatter.Deserialize ãåŒã³åºãåã« BinaryFormatter.Binder ãèšå®ãããŠããããšã確èªããŸã | å®å šã§ãªãéã·ãªã¢ã©ã€ã¶ãŒã¯ãä¿¡é ŒãããŠããªãããŒã¿ãéã·ãªã¢ã«åãããšãã«è匱ã§ãã æ»æè ãã·ãªã¢ã«åãããããŒã¿ã倿ŽããŠäºæãããªãåã远å ããæªæã®ããå¯äœçšãæã€ãªããžã§ã¯ããæ¿å ¥ããå¯èœæ§ããããŸãã |
| CA2305:å®å šã§ã¯ãªããã·ãªã¢ã©ã€ã¶ãŒ LosFormatter ã䜿çšããªãã§ãã ãã | å®å šã§ãªãéã·ãªã¢ã©ã€ã¶ãŒã¯ãä¿¡é ŒãããŠããªãããŒã¿ãéã·ãªã¢ã«åãããšãã«è匱ã§ãã æ»æè ãã·ãªã¢ã«åãããããŒã¿ã倿ŽããŠäºæãããªãåã远å ããæªæã®ããå¯äœçšãæã€ãªããžã§ã¯ããæ¿å ¥ããå¯èœæ§ããããŸãã |
| CA2310:å®å šã§ã¯ãªããã·ãªã¢ã©ã€ã¶ãŒ NetDataContractSerializer ã䜿çšããªãã§ãã ãã | å®å šã§ãªãéã·ãªã¢ã©ã€ã¶ãŒã¯ãä¿¡é ŒãããŠããªãããŒã¿ãéã·ãªã¢ã«åãããšãã«è匱ã§ãã æ»æè ãã·ãªã¢ã«åãããããŒã¿ã倿ŽããŠäºæãããªãåã远å ããæªæã®ããå¯äœçšãæã€ãªããžã§ã¯ããæ¿å ¥ããå¯èœæ§ããããŸãã |
| CA2311:æåã« NetDataContractSerializer.Binder ãèšå®ããªãã§éã·ãªã¢ã«åããªãã§ãã ãã | å®å šã§ãªãéã·ãªã¢ã©ã€ã¶ãŒã¯ãä¿¡é ŒãããŠããªãããŒã¿ãéã·ãªã¢ã«åãããšãã«è匱ã§ãã æ»æè ãã·ãªã¢ã«åãããããŒã¿ã倿ŽããŠäºæãããªãåã远å ããæªæã®ããå¯äœçšãæã€ãªããžã§ã¯ããæ¿å ¥ããå¯èœæ§ããããŸãã |
| CA2312:NetDataContractSerializer.Binder ãèšå®ããŠããéã·ãªã¢ã«åããŠãã ãã | å®å šã§ãªãéã·ãªã¢ã©ã€ã¶ãŒã¯ãä¿¡é ŒãããŠããªãããŒã¿ãéã·ãªã¢ã«åãããšãã«è匱ã§ãã æ»æè ãã·ãªã¢ã«åãããããŒã¿ã倿ŽããŠäºæãããªãåã远å ããæªæã®ããå¯äœçšãæã€ãªããžã§ã¯ããæ¿å ¥ããå¯èœæ§ããããŸãã |
| CA2315:å®å šã§ã¯ãªããã·ãªã¢ã©ã€ã¶ãŒ ObjectStateFormatter ã䜿çšããªãã§ãã ãã | å®å šã§ãªãéã·ãªã¢ã©ã€ã¶ãŒã¯ãä¿¡é ŒãããŠããªãããŒã¿ãéã·ãªã¢ã«åãããšãã«è匱ã§ãã æ»æè ãã·ãªã¢ã«åãããããŒã¿ã倿ŽããŠäºæãããªãåã远å ããæªæã®ããå¯äœçšãæã€ãªããžã§ã¯ããæ¿å ¥ããå¯èœæ§ããããŸãã |
| CA2321:SimpleTypeResolver ã䜿ã£ãŠ JavaScriptSerializer ã§éã·ãªã¢ã«åããªãã§ãã ãã | å®å šã§ãªãéã·ãªã¢ã©ã€ã¶ãŒã¯ãä¿¡é ŒãããŠããªãããŒã¿ãéã·ãªã¢ã«åãããšãã«è匱ã§ãã æ»æè ãã·ãªã¢ã«åãããããŒã¿ã倿ŽããŠäºæãããªãåã远å ããæªæã®ããå¯äœçšãæã€ãªããžã§ã¯ããæ¿å ¥ããå¯èœæ§ããããŸãã |
| CA2322:éã·ãªã¢ã«åããåã« JavaScriptSerializer ã SimpleTypeResolver ã«ãã£ãŠåæåãããŠããªãããšã確èªããŠãã ãã | å®å šã§ãªãéã·ãªã¢ã©ã€ã¶ãŒã¯ãä¿¡é ŒãããŠããªãããŒã¿ãéã·ãªã¢ã«åãããšãã«è匱ã§ãã æ»æè ãã·ãªã¢ã«åãããããŒã¿ã倿ŽããŠäºæãããªãåã远å ããæªæã®ããå¯äœçšãæã€ãªããžã§ã¯ããæ¿å ¥ããå¯èœæ§ããããŸãã |
| CA2326: None 以å€ã® TypeNameHandling å€ã¯äœ¿çšããªãã§ãã ãã | å®å šã§ãªãéã·ãªã¢ã©ã€ã¶ãŒã¯ãä¿¡é ŒãããŠããªãããŒã¿ãéã·ãªã¢ã«åãããšãã«è匱ã§ãã æ»æè ãã·ãªã¢ã«åãããããŒã¿ã倿ŽããŠäºæãããªãåã远å ããæªæã®ããå¯äœçšãæã€ãªããžã§ã¯ããæ¿å ¥ããå¯èœæ§ããããŸãã |
| CA2327: å®å šã§ãªã JsonSerializerSettings ã䜿çšããªãã§ãã ãã | å®å šã§ãªãéã·ãªã¢ã©ã€ã¶ãŒã¯ãä¿¡é ŒãããŠããªãããŒã¿ãéã·ãªã¢ã«åãããšãã«è匱ã§ãã æ»æè ãã·ãªã¢ã«åãããããŒã¿ã倿ŽããŠäºæãããªãåã远å ããæªæã®ããå¯äœçšãæã€ãªããžã§ã¯ããæ¿å ¥ããå¯èœæ§ããããŸãã |
| CA2328: JsonSerializerSettings ãå®å šã§ããããšã確èªããŠãã ãã | å®å šã§ãªãéã·ãªã¢ã©ã€ã¶ãŒã¯ãä¿¡é ŒãããŠããªãããŒã¿ãéã·ãªã¢ã«åãããšãã«è匱ã§ãã æ»æè ãã·ãªã¢ã«åãããããŒã¿ã倿ŽããŠäºæãããªãåã远å ããæªæã®ããå¯äœçšãæã€ãªããžã§ã¯ããæ¿å ¥ããå¯èœæ§ããããŸãã |
| CA2329: ã»ãã¥ãªãã£ã§ä¿è·ãããŠããªãæ§æã JsonSerializer ã§äœ¿çšãããŠããå Žåã¯ãéã·ãªã¢ã«åãè¡ããªãã§ãã ãã | å®å šã§ãªãéã·ãªã¢ã©ã€ã¶ãŒã¯ãä¿¡é ŒãããŠããªãããŒã¿ãéã·ãªã¢ã«åãããšãã«è匱ã§ãã æ»æè ãã·ãªã¢ã«åãããããŒã¿ã倿ŽããŠäºæãããªãåã远å ããæªæã®ããå¯äœçšãæã€ãªããžã§ã¯ããæ¿å ¥ããå¯èœæ§ããããŸãã |
| CA2330: éã·ãªã¢ã«åã®éã«ãJsonSerializer ã®æ§æã¯ç¢ºå®ã«ã»ãã¥ãªãã£ã§ä¿è·ããŠãã ãã | å®å šã§ãªãéã·ãªã¢ã©ã€ã¶ãŒã¯ãä¿¡é ŒãããŠããªãããŒã¿ãéã·ãªã¢ã«åãããšãã«è匱ã§ãã æ»æè ãã·ãªã¢ã«åãããããŒã¿ã倿ŽããŠäºæãããªãåã远å ããæªæã®ããå¯äœçšãæã€ãªããžã§ã¯ããæ¿å ¥ããå¯èœæ§ããããŸãã |
| CA2350:DataTable.ReadXml() ã®å ¥åãä¿¡é ŒãããŠããããšã確èªããŠãã ãã | ä¿¡é ŒãããŠããªãå ¥åã䜿çšã㊠DataTable ãéã·ãªã¢ã«åãããšãæ»æè ãæªæã®ããå ¥åãäœæããŠãµãŒãã¹æåŠæ»æã仿ããå¯èœæ§ããããŸãã äžæãªãªã¢ãŒã ã³ãŒãå®è¡ã®è匱æ§ãååšããå¯èœæ§ããããŸãã |
| CA2351:DataSet.ReadXml() ã®å ¥åãä¿¡é ŒãããŠããããšã確èªããŠãã ãã | ä¿¡é ŒãããŠããªãå ¥åã䜿çšã㊠DataSet ãéã·ãªã¢ã«åãããšãæ»æè ãæªæã®ããå ¥åãäœæããŠãµãŒãã¹æåŠæ»æã仿ããå¯èœæ§ããããŸãã äžæãªãªã¢ãŒã ã³ãŒãå®è¡ã®è匱æ§ãååšããå¯èœæ§ããããŸãã |
| CA2352: ã·ãªã¢ã«åå¯èœãªåã®å®å šã§ãªã DataSet ãŸã㯠DataTable ã¯ããªã¢ãŒã ã³ãŒãå®è¡æ»æã«å¯ŸããŠè匱ã«ãªãå¯èœæ§ããããŸã | SerializableAttribute ã§ããŒã¯ãããã¯ã©ã¹ãŸãã¯æ§é äœã« DataSet ãŸã㯠DataTable ãã£ãŒã«ããŸãã¯ããããã£ã¯å«ãŸããŠããŸãããGeneratedCodeAttribute ã¯ãããŸããã |
| CA2353: ã·ãªã¢ã«åå¯èœãªåã®å®å šã§ãªã DataSet ãŸã㯠DataTable | XML ã·ãªã¢ã«å屿§ãŸãã¯ããŒã¿ ã³ã³ãã©ã¯ã屿§ã§ããŒã¯ãããã¯ã©ã¹ãŸãã¯æ§é äœã«ãDataSet ãŸã㯠DataTable ãã£ãŒã«ããŸãã¯ããããã£ãå«ãŸããŠããŸãã |
| CA2354:éã·ãªã¢ã«åããããªããžã§ã¯ã ã°ã©ãã®å®å šã§ãªã DataSet ãŸã㯠DataTable ã¯ããªã¢ãŒã ã³ãŒãå®è¡æ»æã«å¯ŸããŠè匱ã«ãªãå¯èœæ§ããããŸã | System.Runtime.Serialization.IFormatter ã·ãªã¢ã«åã§éã·ãªã¢ã«åãããã£ã¹ããããåã®ãªããžã§ã¯ã ã°ã©ãã« DataSet ãŸã㯠DataTable ãå«ãã§ããå¯èœæ§ããããŸãã |
| CA2355: éã·ãªã¢ã«åããããªããžã§ã¯ã ã°ã©ãã®å®å šã§ãªã DataSet ãŸã㯠DataTable | ãã£ã¹ãããããŸãã¯æå®ãããåã®ãªããžã§ã¯ã ã°ã©ãã« DataSet ãŸã㯠DataTable ãå«ãã§ããå¯èœæ§ããããšãã«éã·ãªã¢ã«åããŠããŸãã |
| CA2356: Web ã§éã·ãªã¢ã«åããããªããžã§ã¯ã ã°ã©ãå ã®å®å šã§ãªã DataSet ãŸã㯠DataTable | System.Web.Services.WebMethodAttributeãŸãã¯System.ServiceModel.OperationContractAttributeãæã€ã¡ãœããã«ã¯ãDataSetãŸãã¯DataTableãåç §ãããã©ã¡ãŒã¿ãŒããããŸãã |
| CA2361: DataSet.ReadXml() ãå«ãèªåçæã¯ã©ã¹ãä¿¡é ŒãããŠããªãããŒã¿ã§äœ¿çšãããŠããªãããšã確èªããŠãã ãã | ä¿¡é ŒãããŠããªãå ¥åã䜿çšã㊠DataSet ãéã·ãªã¢ã«åãããšãæ»æè ãæªæã®ããå ¥åãäœæããŠãµãŒãã¹æåŠæ»æã仿ããå¯èœæ§ããããŸãã äžæãªãªã¢ãŒã ã³ãŒãå®è¡ã®è匱æ§ãååšããå¯èœæ§ããããŸãã |
| CA2362: ã·ãªã¢ã«åå¯èœãªèªåçæåã®å®å šã§ãªã DataSet ãŸã㯠DataTable ã¯ããªã¢ãŒã ã³ãŒãå®è¡æ»æã«å¯ŸããŠè匱ã«ãªãå¯èœæ§ããããŸã | BinaryFormatter ã§ä¿¡é ŒãããŠããªãå ¥åãéã·ãªã¢ã«åããéã·ãªã¢ã«åããããªããžã§ã¯ã ã°ã©ãã« DataSet ãŸã㯠DataTable ãå«ãŸããŠããå Žåãæ»æè ãæªæã®ãããã€ããŒããäœæããŠããªã¢ãŒã ã³ãŒãå®è¡æ»æã仿ããå¯èœæ§ããããŸãã |
| CA3001:SQL ã€ã³ãžã§ã¯ã·ã§ã³ã®è匱æ§ã®ã³ãŒã ã¬ãã¥ãŒ | ä¿¡é ŒãããŠããªãå ¥åãš SQL ã³ãã³ããåŠçãããšãã«ã¯ãSQL ã€ã³ãžã§ã¯ã·ã§ã³æ»æã«æ³šæããŠãã ããã SQL ã€ã³ãžã§ã¯ã·ã§ã³æ»æã§ã¯ãæªæã®ãã SQL ã³ãã³ããå®è¡ãããã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£ãšæŽåæ§ãæãªãããå¯èœæ§ããããŸãã |
| CA3002:XSS ã®è匱æ§ã®ã³ãŒã ã¬ãã¥ãŒ | Web èŠæ±ããã®ä¿¡é ŒãããŠããªãå ¥åãåŠçãããšãã«ã¯ãã¯ãã¹ãµã€ã ã¹ã¯ãªããã£ã³ã° (XSS) æ»æã«æ³šæããŠãã ããã XSS æ»æã«ãã£ãŠä¿¡é ŒãããŠããªãå ¥åãæªå 工㮠HTML åºåã«æ¿å ¥ãããæ»æè ãæªæã®ããã¹ã¯ãªãããå®è¡ããããWeb ããŒãžã®ã³ã³ãã³ããæ æã«å€æŽã§ããããã«ãªããŸãã |
| CA3003: ãã¡ã€ã« ãã¹ ã€ã³ãžã§ã¯ã·ã§ã³ã®è匱æ§ããªããã³ãŒãã確èªãã | Webãªã¯ãšã¹ãããã®ä¿¡é Œã§ããªãå ¥åãåŠçããéã¯ããã¡ã€ã«ãžã®ãã¹ãæå®ãããšãã«ããŠãŒã¶ãŒãå¶åŸ¡ã§ããå ¥åã䜿çšããªãããæ³šæããŠãã ããã |
| CA3004:æ å ±æŒããã®è匱æ§ã®ã³ãŒã ã¬ãã¥ãŒ | äŸå€æ å ±ãå ¬éãããšãæ»æè ã¯ã¢ããªã±ãŒã·ã§ã³ã®å éšã«é¢ããåææ å ±ãå ¥æããŠãæªçšã§ããä»ã®è匱æ§ãèŠã€ããããšãã§ããŸãã |
| CA3005: LDAP ã€ã³ãžã§ã¯ã·ã§ã³ã®è匱æ§ã®ã³ãŒãã確èªãã | ä¿¡é ŒãããŠããªãå ¥åãåŠçããå Žåã¯ãã©ã€ããŠã§ã€ã ãã£ã¬ã¯ã㪠ã¢ã¯ã»ã¹ ãããã³ã« (LDAP) ã€ã³ãžã§ã¯ã·ã§ã³æ»æã«æ³šæããŠãã ããã æ»æè ã¯ãæ å ±ãã£ã¬ã¯ããªã«å¯ŸããŠæªæã®ãã LDAP ã¹ããŒãã¡ã³ããå®è¡ãããããããããŸãã ãã£ã¬ã¯ã㪠ãµãŒãã¹ã«ã¢ã¯ã»ã¹ããããã®åç LDAP ã¹ããŒãã¡ã³ããããŠãŒã¶ãŒã«ããå ¥åã䜿çšããŠäœæããã¢ããªã±ãŒã·ã§ã³ã¯ãç¹ã«è匱ã§ãã |
| CA3006:ããã»ã¹ ã³ãã³ã ã€ã³ãžã§ã¯ã·ã§ã³ã®è匱æ§ã®ã³ãŒã ã¬ãã¥ãŒ | ä¿¡é ŒãããŠããªãå ¥åãåŠçãããšãã«ã¯ãã³ãã³ã ã€ã³ãžã§ã¯ã·ã§ã³æ»æã«æ³šæããŠãã ããã ã³ãã³ã ã€ã³ãžã§ã¯ã·ã§ã³æ»æã§ã¯ãåºã«ãªããªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã«å¯ŸããŠæªæã®ããã³ãã³ããå®è¡ããããµãŒããŒã®ã»ãã¥ãªãã£ãšæŽåæ§ãæãªãããå¯èœæ§ããããŸãã |
| CA3007:ãªãŒãã³ ãªãã€ã¬ã¯ãã®è匱æ§ã®ã³ãŒã ã¬ãã¥ãŒ | ä¿¡é ŒãããŠããªãå ¥åãåŠçãããšãã«ã¯ããªãŒãã³ ãªãã€ã¬ã¯ãã®è匱æ§ã«æ³šæããŠãã ããã æ»æè ã¯ãªãŒãã³ ãªãã€ã¬ã¯ãã®è匱æ§ãæªçšããWeb ãµã€ããå©çšããŠæ£èŠã® URL ã衚ããçã£ãŠããªã蚪åè ããã£ãã·ã³ã°ãªã©ã®æªæã®ãã Web ããŒãžã«ãªãã€ã¬ã¯ãã§ããŸãã |
| CA3008:XPath ã€ã³ãžã§ã¯ã·ã§ã³ã®è匱æ§ã®ã³ãŒã ã¬ãã¥ãŒ | ä¿¡é ŒãããŠããªãå ¥åãåŠçãããšãã«ã¯ãXPath ã€ã³ãžã§ã¯ã·ã§ã³æ»æã«æ³šæããŠãã ããã ä¿¡é ŒãããŠããªãå ¥åã䜿çšã㊠XPath ã¯ãšãªãæ§ç¯ãããšãæ»æè ãæªæãæã£ãŠã¯ãšãªãæäœããŠæå³ããªãçµæãè¿ããã¯ãšãªããã XML ã®å 容ãé瀺ããå¯èœæ§ããããŸãã |
| CA3009:XML ã€ã³ãžã§ã¯ã·ã§ã³ã®è匱æ§ã®ã³ãŒã ã¬ãã¥ãŒ | ä¿¡é ŒãããŠããªãå ¥åãåŠçãããšãã«ã¯ãXML ã€ã³ãžã§ã¯ã·ã§ã³æ»æã«æ³šæããŠãã ããã |
| CA3010:XAML ã€ã³ãžã§ã¯ã·ã§ã³ã®è匱æ§ã®ã³ãŒã ã¬ãã¥ãŒ | ä¿¡é ŒãããŠããªãå ¥åãåŠçãããšãã«ã¯ãXAML ã€ã³ãžã§ã¯ã·ã§ã³æ»æã«æ³šæããŠãã ããã XAML ã¯ããªããžã§ã¯ãã®ã€ã³ã¹ã¿ã³ã¹åãšå®è¡ãçŽæ¥è¡šãããŒã¯ã¢ããèšèªã§ãã ã€ãŸããXAML ã«äœæãããèŠçŽ ãšã·ã¹ãã ãªãœãŒã¹ (ãããã¯ãŒã¯ ã¢ã¯ã»ã¹ããã¡ã€ã« ã·ã¹ãã IO ãªã©) ã®éã§ããåãã§ããŸãã |
| CA3011:DLL ã€ã³ãžã§ã¯ã·ã§ã³ã®è匱æ§ã®ã³ãŒã ã¬ãã¥ãŒ | ä¿¡é Œã§ããªãå ¥åãåŠçãããšãã«ã¯ãä¿¡é ŒãããŠããªãã³ãŒãã®èªã¿èŸŒã¿ã«æ³šæããŠãã ããã Web ã¢ããªã±ãŒã·ã§ã³ãä¿¡é ŒãããŠããªãã³ãŒããèªã¿èŸŒãå Žåãæ»æè ã¯æªæã®ãã DLL ãããã»ã¹ã«æ¿å ¥ããæªæã®ããã³ãŒããå®è¡ã§ããå¯èœæ§ããããŸãã |
| CA3012:RegEx ã€ã³ãžã§ã¯ã·ã§ã³ã®è匱æ§ã®ã³ãŒã ã¬ãã¥ãŒ | ä¿¡é ŒãããŠããªãå ¥åãåŠçãããšãã«ã¯ãæ£èŠè¡šçŸã€ã³ãžã§ã¯ã·ã§ã³æ»æã«æ³šæããŠãã ããã æ»æè ã¯ãæ£èŠè¡šçŸã€ã³ãžã§ã¯ã·ã§ã³ã䜿çšããŠæ£èŠè¡šçŸãæ æã«å€æŽããããæ£èŠè¡šçŸãæå³ããªãçµæãšäžèŽããããããå¯èœæ§ããããŸãããŸããæ£èŠè¡šçŸã«ãã£ãŠ CPU ãéåºŠã«æ¶è²»ãããµãŒãã¹æåŠæ»æãè¡ãå¯èœæ§ããããŸãã |
| CA3061:URL ã§ã¹ããŒãã远å ããŸãã | å±éºãªå€éšåç §ãåŒãèµ·ããå¯èœæ§ããããããAdd ã¡ãœããã®å®å šã§ãªããªãŒããŒããŒãã䜿çšããªãã§ãã ããã |
| CA3075:å®å šã§ã¯ãªã DTD ã®åŠç | å®å šã§ãªã DTDProcessing ã€ã³ã¹ã¿ã³ã¹ã䜿çšããå ŽåããŸãã¯å€éšãšã³ãã£ã㣠ãœãŒã¹ãåç §ããŠããå ŽåãããŒãµãŒã¯ä¿¡é ŒãããŠããªãå ¥åãåãå ¥ããæ©å¯æ å ±ãæ»æè ã«é瀺ããå¯èœæ§ããããŸãã |
| CA3076:å®å šã§ã¯ãªã XSLT ã¹ã¯ãªããã®å®è¡ | .NET ã¢ããªã±ãŒã·ã§ã³ã§æ¡åŒµã¹ã¿ã€ã«ã·ãŒãèšèªå€æ (XSLT) ãå®å šã«å®è¡ããªããšãä¿¡é ŒãããŠããªã URI åç §ãããã»ããµã«ãã£ãŠè§£æ±ºãããæ»æè ã«æ©å¯æ å ±ãé瀺ããããµãŒãã¹æåŠæ»æãã¯ãã¹ãµã€ãæ»æãçºçããå¯èœæ§ããããŸãã |
| CA3077:API ã®ãã¶ã€ã³ãXML ããã¥ã¡ã³ããããã³ XML ããã¹ã ãªãŒããŒã§ã®å®å šã§ã¯ãªãåŠç | XMLDocument ãš XMLTextReader ããæŽŸçãã API ããã¶ã€ã³ããå ŽåãDtdProcessing ã«ã泚æãã ããã å€éšãšã³ãã£ã㣠ãœãŒã¹ãåç §ãŸãã¯è§£æ±ºãããšãããŸã㯠XML ã§å®å šã§ãªãå€ãèšå®ãããšãã«å®å šã§ãªã DTDProcessing ã€ã³ã¹ã¿ã³ã¹ã䜿çšãããšãæ å ±æŒããã«ã€ãªããå¯èœæ§ããããŸãã |
| CA3147:ValidateAntiForgeryToken ã§åè©ãã³ãã©ãŒãããŒã¯ããŸã | ASP.NET MVC ã³ã³ãããŒã©ãŒãèšèšãããšãã«ã¯ãã¯ãã¹ãµã€ã ãªã¯ãšã¹ã ãã©ãŒãžã§ãªæ»æã«æ³šæããŠãã ããã ã¯ãã¹ãµã€ã ãªã¯ãšã¹ã ãã©ãŒãžã§ãªæ»æã§ã¯ãèªèšŒããããŠãŒã¶ãŒãã ASP.NET MVC ã³ã³ãããŒã©ãŒã«æªæã®ããèŠæ±ãéä¿¡ãããå¯èœæ§ããããŸãã |
| CA5350:èåŒ±ãªæå·ã¢ã«ãŽãªãºã ã䜿çšããªãã§ãã ãã | çŸåšãããŸããŸãªçç±ã§åŒ±ãæå·åã¢ã«ãŽãªãºã ãšããã·ã¥é¢æ°ã䜿çšãããŠããŸãããä¿è·å¯Ÿè±¡ã®ããŒã¿ã®æ©å¯æ§ãæŽåæ§ãä¿èšŒããããã«ãããã䜿çšããªãã§ãã ããã ãã®ã«ãŒã«ã¯ãã³ãŒãã§ TripleDESãSHA1ããŸã㯠RIPEMD160 ã¢ã«ãŽãªãºã ãæ€åºããããšããªã¬ãŒãããŸãã |
| CA5351: ç Žãããæå·ã¢ã«ãŽãªãºã ã䜿çšããªãã§ãã ãã | ç Žãããæå·ã¢ã«ãŽãªãºã ã¯ã»ãã¥ã¢ã§ãããšã¯èŠãªãããããããã䜿çšããªãããšã匷ããå§ãããŸãã ãã®ã«ãŒã«ã¯ãã³ãŒãã« MD5 ããã·ã¥ ã¢ã«ãŽãªãºã ããDES ã RC2 ã®ããããã®æå·åã¢ã«ãŽãªãºã ãæ€åºããããšããªã¬ãŒãããŸãã |
| CA5358:å®å šã§ã¯ãªãæå·ã¢ãŒãã䜿çšããªãã§ãã ãã | å®å šã§ã¯ãªãæå·ã¢ãŒãã䜿çšããªãã§ãã ãã |
| CA5359: èšŒææžã®æ€èšŒãç¡å¹ã«ããªãã§ãã ãã | èšŒææžã䜿çšãããšããµãŒããŒã® ID ãèªèšŒã§ããŸãã ã¯ã©ã€ã¢ã³ãã§ã¯ããµãŒããŒèšŒææžãæ€èšŒããèŠæ±ãæå³ãããšããã®ãµãŒããŒã«éä¿¡ãããããã«ããå¿
èŠããããŸãã ServerCertificateValidationCallback ã«ãã£ãŠåžžã« true ãè¿ããããšããã¹ãŠã®èšŒææžãæ€èšŒã«æåããŸãã |
| CA5360: éã·ãªã¢ã«åã§å±éºãªã¡ãœãããåŒã³åºããªãã§ãã ãã | å®å šã§ãªãéã·ãªã¢ã«åã¯ãä¿¡é ŒãããŠããªãããŒã¿ã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ã®ããžãã¯ãæªçšããããããµãŒãã¹æåŠ (DoS) æ»æã仿ããããããéã·ãªã¢ã«åããããšãã«ä»»æã®ã³ãŒããå®è¡ãããããããšãã«çºçããè匱æ§ã§ãã æªæã®ãããŠãŒã¶ãŒãèªåã®ç®¡çäžã«ããä¿¡é ŒãããŠããªãããŒã¿ãã¢ããªã±ãŒã·ã§ã³ã§éã·ãªã¢ã«åããŠãããšãã«ããããã®éã·ãªã¢ã«åæ©èœãæªçšããããšããããããŸãã å ·äœçã«ã¯ãéã·ãªã¢ã«åã®éçšã§å±éºãªã¡ãœãããåŒã³åºããŸãã å®å šã§ãªãéã·ãªã¢ã«åæ»æãæåãããšãæ»æè 㯠DoS æ»æãèªèšŒåé¿ããªã¢ãŒãã§ã®ã³ãŒãå®è¡ãªã©ã®æ»æã仿ããå¯èœæ§ããããŸãã |
| CA5361: 匷åãªæå·ã® Schannel ã®äœ¿çšãç¡å¹ã«ããŸãã |
Switch.System.Net.DontEnableSchUseStrongCrypto ã true ã«èšå®ãããšãéä¿¡ãã©ã³ã¹ããŒãå±€ã»ãã¥ãªã㣠(TLS) æ¥ç¶ã§äœ¿çšãããæå·ã匱ããªããŸãã æå·ã匱ããªããšãã¢ããªã±ãŒã·ã§ã³ãšãµãŒããŒéã®éä¿¡ã®æ©å¯æ§ãæãªãããæ»æè
ãæ©å¯ããŒã¿ãç°¡åã«ååã§ããããã«ãªããŸãã |
| CA5362: éã·ãªã¢ã«åããããªããžã§ã¯ã ã°ã©ãã§å¯èœæ§ã®ããåç §ãµã€ã¯ã« | ä¿¡é ŒãããŠããªãããŒã¿ãéã·ãªã¢ã«åãããšãéã·ãªã¢ã«åããããªããžã§ã¯ã ã°ã©ããåŠçãããã¹ãŠã®ã³ãŒãã§ãç¡éã«ãŒãã«å ¥ãããšãªãåç §ãµã€ã¯ã«ãåŠçããå¿ èŠããããŸãã ããã«ã¯ãéã·ãªã¢ã«åã³ãŒã«ããã¯ã®äžéšã§ããã³ãŒããšãéã·ãªã¢ã«åãå®äºããåŸã«ãªããžã§ã¯ã ã°ã©ããåŠçããã³ãŒãã®äž¡æ¹ãå«ãŸããŸãã ããããªããšãæ»æè ãåç §ãµã€ã¯ã«ãå«ãæªæã®ããããŒã¿ã䜿çšããŠãµãŒãã¹æåŠæ»æã仿ããå¯èœæ§ããããŸãã |
| CA5363:èŠæ±ã®æ€èšŒãç¡å¹ã«ããŸãã | èŠæ±ã®æ€èšŒã¯ãASP.NET ã®æ©èœã® 1 ã€ã§ãHTTP èŠæ±ã調ã¹ããã®èŠæ±ã«ã¯ãã¹ãµã€ãã¹ã¯ãªããã£ã³ã°ãå«ãã€ã³ãžã§ã¯ã·ã§ã³æ»æã«ã€ãªããå¯èœæ§ã®ããå±éºãªã³ã³ãã³ããå«ãŸããŠããªããã©ããã確èªããŸãã |
| CA5364: éæšå¥šã®ã»ãã¥ãªã㣠ãããã³ã«ã䜿çšããªãã§ãã ãã | ãã©ã³ã¹ããŒãå±€ã»ãã¥ãªã㣠(TLS) ã§ã¯ãã³ã³ãã¥ãŒã¿ãŒéã®éä¿¡ãä¿è·ãããã€ããŒããã¹ã転éãããã³ã« ã»ãã¥ã¢ (HTTPS) ãšãã䜵çšãããŸãã TLS ã®å€ããããã³ã« ããŒãžã§ã³ã¯ TLS 1.2 ã TLS 1.3 ãããå®å šæ§ãäœããæ°ããè匱æ§ãèŠã€ããå¯èœæ§ãé«ããªããŸãã ãªã¹ã¯ãæå°éã«æããããã«ãå€ããããã³ã« ããŒãžã§ã³ã䜿çšããªãããã«ããŠãã ããã |
| CA5365: HTTP ããããŒã®ãã§ãã¯ãç¡å¹ã«ããŸãã | HTTP ããããŒã®ãã§ãã¯ã«ãããã¬ã¹ãã³ã¹ããããŒã«å«ãŸãããã£ãªããžãªã¿ãŒã³æå \r ãšæ¹è¡æå \n ããšã³ã³ãŒãã§ããããã«ãªããŸãã ãã®ãšã³ã³ãŒãã¯ãããããŒã«å«ãŸããä¿¡é ŒãããŠããªãããŒã¿ããšã³ãŒããã¢ããªã±ãŒã·ã§ã³ãæªçšããã€ã³ãžã§ã¯ã·ã§ã³æ»æãåé¿ããã®ã«åœ¹ç«ã¡ãŸãã |
| CA5366: DataSet Read XML ã« XmlReader ã䜿çšããŸã | ä¿¡é ŒãããŠããªãããŒã¿ãå«ã XML ãèªã¿åãããã« DataSet ã䜿çšãããšãå±éºãªå€éšåç §ãèªã¿èŸŒãŸããå¯èœæ§ããããŸããããã¯ãã»ãã¥ãªãã£ã§ä¿è·ããããªãŸã«ããŒãŸã㯠DTD åŠçãç¡å¹ã«ãã XmlReader ã䜿çšããŠå¶éããå¿ èŠããããŸãã |
| CA5367: ãã€ã³ã¿ãŒ ãã£ãŒã«ããæã€åãã·ãªã¢ã«åããŸãã | ãã®èŠåã§ã¯ããã€ã³ã¿ãŒ ãã£ãŒã«ããŸãã¯ããããã£ãæã€ã·ãªã¢ã«åå¯èœãªã¯ã©ã¹ããããã©ããããã§ãã¯ããŸãã éçã¡ã³ããŒãNonSerializedAttribute ã§ããŒã¯ããããã£ãŒã«ããªã©ãã·ãªã¢ã«åã§ããªãã¡ã³ããŒããã€ã³ã¿ãŒã«ãªãå¯èœæ§ããããŸãã |
| CA5368: ããŒãžããæŽŸçããã¯ã©ã¹ã« ViewStateUserKey ãèšå®ããŸã | ViewStateUserKey ããããã£ãèšå®ãããšãèå¥åãåå¥ã®ãŠãŒã¶ãŒã® view-state 倿°ã«å²ãåœãŠãŠãæ»æè ã倿°ã䜿çšããæ»æãå®è¡ã§ããªãããã«ããããšã§ãã¢ããªã±ãŒã·ã§ã³ã«å¯Ÿããæ»æãé²ãããšãã§ããŸãã ããããªãå Žåãã¯ãã¹ãµã€ã ãªã¯ãšã¹ã ãã©ãŒãžã§ãªã«å¯Ÿããè匱æ§ãçããŸãã |
| CA5369:éã·ãªã¢ã«åã« XmlReader ã䜿çšããŸã | ä¿¡é ŒãããŠããªã DTD ã¹ããŒããš XML ã¹ããŒããåŠçãããšãå±éºãªå€éšåç §ãèªã¿èŸŒãããšãã§ããŸããããã¯ãã»ãã¥ãªãã£ã§ä¿è·ããããªãŸã«ããŒã䜿çšããããDTD ããã³ XML ã€ã³ã©ã€ã³ ã¹ããŒãåŠçãç¡å¹ã«ã㊠XmlReader ã䜿çšããŠå¶éããå¿ èŠããããŸãã |
| CA5370:èªã¿åãã®æ€èšŒã« XmlReader ã䜿çšããŸã | ä¿¡é ŒãããŠããªã DTD ã¹ããŒããš XML ã¹ããŒããåŠçãããšãå±éºãªå€éšåç §ãèªã¿èŸŒããå¯èœæ§ããããŸãã ãã®å±éºãªèªã¿èŸŒã¿ã¯ãXmlReader ãå®å šãªãªãŸã«ããŒãšå ±ã«äœ¿çšããããDTD ãš XML ã€ã³ã©ã€ã³ ã¹ããŒãåŠçãç¡å¹ã«ããŠäœ¿çšããããšã«ããå¶éããå¿ èŠããããŸãã |
| CA5371:ã¹ããŒãã®èªã¿åãã« XmlReader ã䜿çšããŸã | ä¿¡é ŒãããŠããªã DTD ã¹ããŒããš XML ã¹ããŒããåŠçãããšãå±éºãªå€éšåç §ãèªã¿èŸŒããå¯èœæ§ããããŸãã XmlReader ãå®å šãªãªãŸã«ããŒãšå ±ã«äœ¿çšããããDTD ãš XML ã€ã³ã©ã€ã³ ã¹ããŒãåŠçãç¡å¹ã«ããŠäœ¿çšããããšã«ããããã®åŠçãå¶éããŸãã |
| CA5372:XPathDocument ã« XmlReader ã䜿çšããŸã | ä¿¡é ŒãããŠããªãããŒã¿ãã XML ãåŠçãããšãå±éºãªå€éšåç §ãèªã¿èŸŒãŸããå¯èœæ§ããããŸããããã¯ãã»ãã¥ãªãã£ã§ä¿è·ããããªãŸã«ããŒãŸã㯠DTD åŠçãç¡å¹ã«ãªã£ãŠãã XmlReader ã䜿çšããŠå¶éã§ããŸãã |
| CA5373:廿¢ãããããŒæŽŸç颿°ã䜿çšããŸãã | ãã®èŠåã§ã¯ã匱ãããŒæŽŸçã¡ãœãã System.Security.Cryptography.PasswordDeriveBytes ãš Rfc2898DeriveBytes.CryptDeriveKey ã®åŒã³åºããæ€åºããŸãã
System.Security.Cryptography.PasswordDeriveBytes ã§åŒ±ãã¢ã«ãŽãªãºã PBKDF1 ã䜿çšãããŸããã |
| CA5374: XslTransform ã䜿çšããŸãã | ãã®èŠåã§ã¯ãSystem.Xml.Xsl.XslTransform ãã³ãŒãã§ã€ã³ã¹ã¿ã³ã¹åããããã©ããããã§ãã¯ããŸãã System.Xml.Xsl.XslTransform ã¯å€ãããã䜿çšããªãã§ãã ããã |
| CA5375: ã¢ã«ãŠã³ãã® Shared Access Signature ã䜿çšããªãã§ãã ãã | ã¢ã«ãŠã³ãã® SAS ã§ã¯ããµãŒãã¹ SAS ã§èš±å¯ãããŠããªã BLOB ã³ã³ãããŒãããŒãã«ããã¥ãŒããã³ãã¡ã€ã«å ±æã®èªã¿åããæžã蟌ã¿ããã³å逿äœãžã®ã¢ã¯ã»ã¹ãå§ä»»ã§ããŸãã ãã ããã³ã³ãããŒã¬ãã«ã®ããªã·ãŒããµããŒãããŠããããä»äžãããã¢ã¯ã»ã¹èš±å¯ã«å¯Ÿããæè»æ§ãšå¶åŸ¡åã¯é«ããããŸããã æªæã®ãããŠãŒã¶ãŒããã® SAS ãå ¥æãããšãã¹ãã¬ãŒãž ã¢ã«ãŠã³ãã¯å®¹æã«äŸµå®³ãããå¯èœæ§ããããŸãã |
| CA5376: SharedAccessProtocol HttpsOnly ã䜿çšããŸã | SAS 㯠HTTP ãä»ããŠãã¬ãŒã³ ããã¹ãã§è»¢éã§ããªãæ©å¯ããŒã¿ã§ãã |
| CA5377: ã³ã³ãã㌠ã¬ãã«ã®ã¢ã¯ã»ã¹ ããªã·ãŒã䜿çšããŸã | ã³ã³ãããŒã¬ãã«ã®ã¢ã¯ã»ã¹ ããªã·ãŒã¯ããã€ã§ã倿ŽãŸãã¯åãæ¶ãããšãã§ããŸãã ãã®ãããä»äžãããã¢ã¯ã»ã¹èš±å¯ãããæè»ã«å¶åŸ¡ã§ããŸãã |
| CA5378: ServicePointManagerSecurityProtocols ãç¡å¹ã«ããŸãã |
Switch.System.ServiceModel.DisableUsingServicePointManagerSecurityProtocols ã true ã«èšå®ãããšãWindows Communication Framework (WCF) ã®ãã©ã³ã¹ããŒãå±€ã»ãã¥ãªã㣠(TLS) æ¥ç¶ã TLS 1.0 ã«å¶éãããŸãã ãã®ããŒãžã§ã³ã® TLS ã¯éæšå¥šã«ãªãäºå®ã§ãã |
| CA5379: 匱ãããŒæŽŸç颿°ã¢ã«ãŽãªãºã ã䜿çšããªã |
Rfc2898DeriveBytes ã¯ã©ã¹ã§ã¯ãæ¢å®ã§ SHA1 ã¢ã«ãŽãªãºã ã䜿çšããŸãã
SHA256 ãŸãã¯ãã以äžã䜿çšããŠãã³ã³ã¹ãã©ã¯ã¿ãŒã®äžéšã®ãªãŒããŒããŒãã§äœ¿çšããããã·ã¥ ã¢ã«ãŽãªãºã ãæå®ããå¿
èŠããããŸãã ãã ããHashAlgorithm ããããã£ã«ã¯ get ã¢ã¯ã»ãµãŒãããªããoverridden 修食åã¯ãããŸããã |
| CA5380:ã«ãŒã ã¹ãã¢ã«èšŒææžã远å ããŸãã | ãã®èŠåã§ã¯ãèšŒææžãä¿¡é Œãããã«ãŒãèšŒææ©é¢ã®èšŒææžã¹ãã¢ã«è¿œå ããã³ãŒããæ€åºããŸãã æ¢å®ã§ã¯ãä¿¡é Œãããã«ãŒãèšŒææ©é¢ã®èšŒææžã¹ãã¢ã¯ãMicrosoft ã«ãŒãèšŒææžããã°ã©ã ã®èŠä»¶ãæºãããäžé£ã®å ¬ç CA ã§æ§æãããŠããŸãã |
| CA5381:èšŒææžãã«ãŒã ã¹ãã¢ã«è¿œå ãããŠããªãããšã確èªããŸã | ãã®èŠåã§ã¯ãèšŒææžãä¿¡é Œãããã«ãŒãèšŒææ©é¢ã®èšŒææžã¹ãã¢ã«è¿œå ããå¯èœæ§ãããã³ãŒããæ€åºããŸãã æ¢å®ã§ã¯ãä¿¡é Œãããã«ãŒãèšŒææ©é¢ã®èšŒææžã¹ãã¢ã¯ãMicrosoft ã«ãŒãèšŒææžããã°ã©ã ã®èŠä»¶ãæºãããäžé£ã®å ¬çèšŒææ©é¢ (CA) ã§æ§æãããŠããŸãã |
| CA5382: ASP.NET Core ã§å®å šãª Cookie ã䜿çšããŸã | HTTPS çµç±ã§äœ¿çšã§ããã¢ããªã±ãŒã·ã§ã³ã§ã¯ãã»ãã¥ãªãã£ã§ä¿è·ããã Cookie ã䜿çšããå¿ èŠããããŸããã€ãŸããCookie 㯠Secure Sockets Layer (SSL) ã®ã¿ã䜿çšããŠè»¢éããå¿ èŠãããããšããã©ãŠã¶ãŒã«ç€ºãå¿ èŠããããŸãã |
| CA5383: ASP.NET Core ã§å®å šãª Cookie ã確å®ã«äœ¿çšããŸã | HTTPS çµç±ã§äœ¿çšã§ããã¢ããªã±ãŒã·ã§ã³ã§ã¯ãã»ãã¥ãªãã£ã§ä¿è·ããã Cookie ã䜿çšããå¿ èŠããããŸããã€ãŸããCookie 㯠Secure Sockets Layer (SSL) ã®ã¿ã䜿çšããŠè»¢éããå¿ èŠãããããšããã©ãŠã¶ãŒã«ç€ºãå¿ èŠããããŸãã |
| CA5384: ããžã¿ã«çœ²åã¢ã«ãŽãªãºã (DSA) ã䜿çšããŸãã | DSA ã¯ã匱ãé察称æå·åã¢ã«ãŽãªãºã ã§ãã |
| CA5385: ååãªã㌠ãµã€ãºã® RivestâShamirâAdleman (RSA) ã¢ã«ãŽãªãºã ã䜿çšããŸã | 2048 ããããããå°ãã RSA ããŒã¯ããã«ãŒã ãã©ãŒã¹æ»æã«å¯Ÿããè匱æ§ãé«ããªããŸãã |
| CA5386: SecurityProtocolType å€ã®ããŒãã³ãŒããé¿ããŸã | ãã©ã³ã¹ããŒãå±€ã»ãã¥ãªã㣠(TLS) ã§ã¯ãã³ã³ãã¥ãŒã¿ãŒéã®éä¿¡ãä¿è·ãããã€ããŒããã¹ã転éãããã³ã« ã»ãã¥ã¢ (HTTPS) ãšãã䜵çšãããŸãã ãããã³ã« ããŒãžã§ã³ TLS 1.0 ãš TLS 1.1 ã¯éæšå¥šã§ãTLS 1.2 ãš TLS 1.3 ãçŸè¡ã®ããŒãžã§ã³ã§ãã ä»åŸãTLS 1.2 ãš TLS 1.3 ã¯éæšå¥šã«ãªãå¯èœæ§ããããŸãã ã¢ããªã±ãŒã·ã§ã³ãã»ãã¥ãªãã£ã§ä¿è·ãç¶ããããã«ããããã³ã« ããŒãžã§ã³ãããŒãã³ãŒãã£ã³ã°ããªãããã«ããå°ãªããšã .NET Framework v4.7.1 ã察象ã«ããŠãã ããã |
| CA5387: ååŸ©åæ°ãååã§ãªã匱ãããŒæŽŸç颿°ã¯äœ¿çšããŸãã | ãã®èŠåã§ã¯ãååŸ©åæ°ã 100,000 åæªæºã® Rfc2898DeriveBytes ã«ãã£ãŠæå·åããŒãçæããããã©ããããã§ãã¯ããŸãã ååŸ©åæ°ãå€ãã»ã©ãçæãããæå·åããŒãæšæž¬ããããšããèŸæžæ»æãç·©åããã®ã«åœ¹ç«ã¡ãŸãã |
| CA5388: 匱ãããŒæŽŸç颿°ã䜿çšããå Žåã¯ååãªååŸ©åæ°ã確ä¿ããŠãã ãã | ãã®èŠåã§ã¯ãååŸ©åæ°ã 100,000 æªæºã® Rfc2898DeriveBytes ã«ãã£ãŠæå·åããŒãçæããããã©ããã確èªããŸãã ååŸ©åæ°ãå€ãã»ã©ãçæãããæå·åããŒãæšæž¬ããããšããèŸæžæ»æãç·©åããã®ã«åœ¹ç«ã¡ãŸãã |
| CA5389:ã¢ãŒã«ã€ãé ç®ã®ãã¹ãã¿ãŒã²ãã ãã¡ã€ã« ã·ã¹ãã ãã¹ã«è¿œå ããŸãã | ãã¡ã€ã« ãã¹ã¯çžå¯Ÿãã¹ã®å Žåããããæ³å®ããããã¡ã€ã« ã·ã¹ãã ã®ã¿ãŒã²ãã ãã¹ä»¥å€ã§ãã¡ã€ã« ã·ã¹ãã ãžã®ã¢ã¯ã»ã¹ãå¯èœã«ãªãå¯èœæ§ããããŸããããã¯ãlay-and-wait ã®ææ³ã«ãã£ãŠæªæã®ããæ§æå€æŽãšãªã¢ãŒã ã³ãŒãã®å®è¡ã«ã€ãªãããŸãã |
| CA5390: æå·åããŒãããŒãã³ãŒãã£ã³ã°ããŸãã | 察称ã¢ã«ãŽãªãºã ãæåãããã«ã¯ãéä¿¡åŽãšåä¿¡åŽã ãã«ç§å¯ããŒãäŒããå¿ èŠããããŸãã ããŒãããŒãã³ãŒãã£ã³ã°ãããŠãããšãç°¡åã«æ€åºã§ããŸãã ã³ã³ãã€ã«ããããã€ããªã§ããæªæã®ãããŠãŒã¶ãŒãç°¡åã«æœåºã§ããŸãã ç§å¯ããŒã䟵害ããããšãæå·ããã¹ããçŽæ¥åŸ©å·åã§ããããã«ãªããããä¿è·ãããŠããªãç¶æ ã«ãªããŸãã |
| CA5391: ASP.NET Core MVC ã³ã³ãããŒã©ãŒã§åœé 鲿¢ããŒã¯ã³ã䜿çšããŸã | åœé 鲿¢ããŒã¯ã³ãæ€èšŒããã«ã POSTã PUTã PATCHããŸã㯠DELETE èŠæ±ãåŠçãããšãã¯ãã¹ãµã€ã ãªã¯ãšã¹ã ãã©ãŒãžã§ãªæ»æã«å¯ŸããŠè匱ã«ãªãå¯èœæ§ããããŸãã ã¯ãã¹ãµã€ã ãªã¯ãšã¹ã ãã©ãŒãžã§ãªæ»æã§ã¯ãèªèšŒããããŠãŒã¶ãŒãã ASP.NET Core MVC ã³ã³ãããŒã©ãŒã«æªæã®ããèŠæ±ãéä¿¡ãããå¯èœæ§ããããŸãã |
| CA5392: P/Invoke ã«å¯Ÿã㊠DefaultDllImportSearchPaths 屿§ã䜿çšããŸã | æ¢å®ã§ã¯ãDllImportAttribute ã䜿çšããŠãã P/Invoke 颿°ã§ã¯ãã©ã€ãã©ãªãèªã¿èŸŒãããã®çŸåšã®äœæ¥ãã£ã¬ã¯ããªãå«ãããã€ãã®ãã£ã¬ã¯ããªã粟æ»ããŸãã ããã¯ç¹å®ã®ã¢ããªã±ãŒã·ã§ã³ã§ã»ãã¥ãªãã£äžã®åé¡ãåŒãèµ·ãããDLL ã®ãã€ãžã£ãã¯ã«ã€ãªããå¯èœæ§ããããŸãã |
| CA5393: å®å šã§ãªã DllImportSearchPath å€ã䜿çšããªãã§ãã ãã | æ¢å®ã® DLL æ€çŽ¢ãã£ã¬ã¯ããªãšã¢ã»ã³ã㪠ãã£ã¬ã¯ããªã«æªæã®ãã DLL ãååšããå¯èœæ§ããããŸãã ãŸãã¯ãã¢ããªã±ãŒã·ã§ã³ãå®è¡ãããŠããå Žæã«å¿ããŠãã¢ããªã±ãŒã·ã§ã³ã®ãã£ã¬ã¯ããªã«æªæã®ãã DLL ãååšããå¯èœæ§ããããŸãã |
| CA5394: å®å šã§ãªãã©ã³ãã 床ã䜿çšããŸãã | æå·ã«åŒ±ãæ¬äŒŒä¹±æ°ãžã§ãã¬ãŒã¿ãŒã䜿çšãããšãæ»æè ã¯çæãããã»ãã¥ãªãã£ã«äŸåããå€ãäºæž¬ã§ããå¯èœæ§ããããŸãã |
| CA5395: ã¢ã¯ã·ã§ã³ ã¡ãœããã® HttpVerb 屿§ããããŸãã | ããŒã¿ã®äœæãç·šéãåé€ããŸãã¯ãã以å€ã®å€æŽãè¡ããã¹ãŠã®ã¢ã¯ã·ã§ã³ ã¡ãœããã¯ãåœé 鲿¢å±æ§ã䜿çšããŠã¯ãã¹ãµã€ã ãªã¯ãšã¹ã ãã©ãŒãžã§ãªæ»æããä¿è·ããå¿ èŠããããŸãã GET æäœã®å®è¡ã¯ãå¯äœçšããªããæ°žç¶åãããããŒã¿ã倿Žããªããå®å šãªæäœã§ããå¿ èŠããããŸãã |
| CA5396: HttpCookie ã§ HttpOnly ã true ã«èšå®ããŸã | é«åºŠãªé²åŸ¡ææ®µãšããŠãã»ãã¥ãªãã£äžæ³šæãå¿ èŠãª HTTP Cookie ããå¿ ã HttpOnly ãšããŠããŒã¯ãããããã«ããŠãã ããã ããã¯ãã¹ã¯ãªãããã Cookie ãžã®ã¢ã¯ã»ã¹ã Web ãã©ãŠã¶ãŒã§èš±å¯ããŠã¯ãªããªãããšã瀺ããŠããŸãã æ¿å ¥ãããæªæã®ããã¹ã¯ãªããã¯ãCookie ãçãããã®äžè¬çãªæ¹æ³ã§ãã |
| CA5397:éæšå¥šã® SslProtocols å€ã䜿çšããŸãã | ãã©ã³ã¹ããŒãå±€ã»ãã¥ãªã㣠(TLS) ã§ã¯ãã³ã³ãã¥ãŒã¿ãŒéã®éä¿¡ãä¿è·ãããã€ããŒããã¹ã転éãããã³ã« ã»ãã¥ã¢ (HTTPS) ãšãã䜵çšãããŸãã TLS ã®å€ããããã³ã« ããŒãžã§ã³ã¯ TLS 1.2 ã TLS 1.3 ãããå®å šæ§ãäœããæ°ããè匱æ§ãèŠã€ããå¯èœæ§ãé«ããªããŸãã ãªã¹ã¯ãæå°éã«æããããã«ãå€ããããã³ã« ããŒãžã§ã³ã䜿çšããªãããã«ããŠãã ããã |
| CA5398:ããŒãã³ãŒãã£ã³ã°ããã SslProtocols å€ãåé¿ããŸã | ãã©ã³ã¹ããŒãå±€ã»ãã¥ãªã㣠(TLS) ã§ã¯ãã³ã³ãã¥ãŒã¿ãŒéã®éä¿¡ãä¿è·ãããã€ããŒããã¹ã転éãããã³ã« ã»ãã¥ã¢ (HTTPS) ãšãã䜵çšãããŸãã ãããã³ã« ããŒãžã§ã³ TLS 1.0 ãš TLS 1.1 ã¯éæšå¥šã§ãTLS 1.2 ãš TLS 1.3 ãçŸè¡ã®ããŒãžã§ã³ã§ãã ä»åŸãTLS 1.2 ãš TLS 1.3 ã¯éæšå¥šã«ãªãå¯èœæ§ããããŸãã ã¢ããªã±ãŒã·ã§ã³ãã»ãã¥ãªãã£ã§ä¿è·ãç¶ããããã«ããããã³ã« ããŒãžã§ã³ãããŒãã³ãŒãã£ã³ã°ããªãããã«ããŠãã ããã |
| CA5399: HttpClient èšŒææžå€±å¹ãªã¹ãã®ç¢ºèªã確å®ã«ç¡å¹ã«ããŸã | 倱å¹ããèšŒææžã¯ä¿¡é ŒãããŠããŸããã æ»æè ã HTTPS éä¿¡ã§æªæã®ããããŒã¿ãæž¡ãããæ©å¯ããŒã¿ãçãããã«äœ¿çšããå¯èœæ§ããããŸãã |
| CA5400: HttpClient èšŒææžå€±å¹ãªã¹ãã®ç¢ºèªã決ããŠç¡å¹ã«ããªãã§ãã ãã | 倱å¹ããèšŒææžã¯ä¿¡é ŒãããŠããŸããã æ»æè ã HTTPS éä¿¡ã§æªæã®ããããŒã¿ãæž¡ãããæ©å¯ããŒã¿ãçãããã«äœ¿çšããå¯èœæ§ããããŸãã |
| CA5401: æ¢å®ä»¥å€ã® IV ã§ CreateEncryptor ã䜿çšããŸãã | 察称æå·åã§ã¯ãèŸæžæ»æãé²ãããã«ãå埩äžèœãªåæåãã¯ãã«ãåžžã«äœ¿çšããå¿ èŠããããŸãã |
| CA5402: æ¢å®ã® IV ã§ CreateEncryptor ã䜿çšããŸã | 察称æå·åã§ã¯ãèŸæžæ»æãé²ãããã«ãå埩äžèœãªåæåãã¯ãã«ãåžžã«äœ¿çšããå¿ èŠããããŸãã |
| CA5403:èšŒææžãããŒãã³ãŒãã£ã³ã°ããªã |
data ãŸã㯠rawData ã³ã³ã¹ãã©ã¯ã¿ãŒã® X509Certificate ãŸã㯠X509Certificate2 ãã©ã¡ãŒã¿ãŒãããŒãã³ãŒãã£ã³ã°ãããŠããŸãã |
| CA5404: ããŒã¯ã³ã®æ€èšŒãã§ãã¯ãç¡å¹ã«ããªãã§ãã ãã | ããŒã¯ã³ã®æ€èšŒãå¶åŸ¡ãã TokenValidationParameters ããããã£ã false ã«èšå®ããŠã¯ãããŸããã |
| CA5405: ããªã²ãŒãã§ããŒã¯ã³ã®æ€èšŒãåžžã«ã¹ãããããªãã§ãã ãã |
AudienceValidator ãŸã㯠LifetimeValidator ã«å²ãåœãŠãããŠããã³ãŒã«ããã¯ããã¯ãåžžã« true ãè¿ãããŸãã |
| IL3000: 1 ã€ã®ãã¡ã€ã«ãšããŠçºè¡ãããšãã«ã¢ã»ã³ã㪠ãã¡ã€ã« ãã¹ã«ã¢ã¯ã»ã¹ããªãããã«ãã | åäžãã¡ã€ã«ãšããŠçºè¡ãããšãã«ã¢ã»ã³ã㪠ãã¡ã€ã« ãã¹ã«ã¢ã¯ã»ã¹ããªãã§ãã ããã |
| IL3001: åäžãã¡ã€ã«ãšããŠçºè¡ãããšãã«ã¢ã»ã³ã㪠ãã¡ã€ã« ãã¹ã«ã¢ã¯ã»ã¹ããªãããã«ãã | åäžãã¡ã€ã«ãšããŠçºè¡ãããšãã«ã¢ã»ã³ã㪠ãã¡ã€ã« ãã¹ã«ã¢ã¯ã»ã¹ããªãã§ãã ããã |
IL3002: 1 ã€ã®ãã¡ã€ã«ãšããŠçºè¡ãããšãã«ã RequiresAssemblyFilesAttribute ã§æ³šéãä»ããããã¡ã³ããŒãåŒã³åºããªãããã«ãã |
1 ã€ã®ãã¡ã€ã«ãšããŠçºè¡ãããšãã«ã RequiresAssemblyFilesAttribute ã§æ³šéãä»ããããã¡ã³ããŒãåŒã³åºããªãããã«ãã |
IL3003: RequiresAssemblyFilesAttribute 泚éã¯ããã¹ãŠã®ã€ã³ã¿ãŒãã§ã€ã¹å®è£
ãŸãã¯ãªãŒããŒã©ã€ãã§äžèŽããå¿
èŠããããŸãã |
RequiresAssemblyFilesAttribute 泚éã¯ããã¹ãŠã®ã€ã³ã¿ãŒãã§ã€ã¹å®è£
ãŸãã¯ãªãŒããŒã©ã€ãã§äžèŽããå¿
èŠããããŸãã |
IL3005: RequiresAssemblyFilesAttribute ãã¢ããªã±ãŒã·ã§ã³ ãšã³ã㪠ãã€ã³ãã«çŽæ¥é
眮ããããšã¯ã§ããŸããã |
RequiresAssemblyFilesAttribute ãã¢ããªã±ãŒã·ã§ã³ ãšã³ã㪠ãã€ã³ãã«çŽæ¥é
眮ããããšã¯ã§ããŸããã |
Legend
次ã®è¡šã¯ãåç §ããã¥ã¡ã³ãã®åã«ãŒã«ã«ã€ããŠæäŸãããŠããæ å ±ã®çš®é¡ã瀺ããŠããŸãã
| Item | Description |
|---|---|
| ã¿ã€ã | èŠåã® TypeNameã |
| ã«ãŒã«èå¥å | èŠåã®äžæã®èå¥åã RuleId ãš Category ã¯ããœãŒã¹ ã³ãŒãå ã§èŠåãæå¶ããããã«äœ¿çšãããŸãã |
| Category | èŠåã®ã«ããŽãª (ããšãã°ãã»ãã¥ãªãã£)ã |
| ä¿®æ£ãç Žå£çãéç Žå£çã | ã«ãŒã«éåã®ä¿®æ£ãç Žå£ç倿Žãã©ããã é倧ãªå€æŽãšã¯ãéåã®åå ãšãªã£ãã¿ãŒã²ããã«äŸåããã¢ã»ã³ããªãæ°ããåºå®ããŒãžã§ã³ã§åã³ã³ãã€ã«ãããªãããšããŸãã¯å€æŽã®ããã«å®è¡æã«å€±æããå¯èœæ§ãããããšãæå³ããŸãã è€æ°ã®ä¿®æ£ãå©çšå¯èœã§ããã®ãã¡å°ãªããšã1ã€ãç Žå£ç倿Žã§ãå°ãªããšã1ã€ãéç Žå£ç倿Žã§ããå Žåã¯ããBreakingããšãNon-breakingãã®äž¡æ¹ãæå®ãããŸãã |
| Cause | èŠåã«åŸã£ãŠèŠåãçæãããåå ã«ãªã£ãç¹å®ã®ãããŒãžã ã³ãŒãã |
| Description | èŠåã®èæ¯ã«ããåé¡ã«ã€ããŠèª¬æããŸãã |
| éåã®ä¿®æ£æ¹æ³ | èŠåã«é©åããèŠåãçæãããªãããã«ãœãŒã¹ ã³ãŒãã倿Žããæ¹æ³ã«ã€ããŠèª¬æããŸãã |
| ã©ã®ãããªãšãã«èŠåãæå¶ããã | èŠåã«ããèŠåãæå¶ããŠãå®å šãªå Žåã«ã€ããŠèª¬æããŸãã |
| ã³ãŒãäŸ | èŠåã«éåããäŸãšãèŠåã«é©åããä¿®æ£ããäŸã瀺ããŸãã |
| é¢é£èŠå | é¢é£ããã«ãŒã«ã |