2012-08-07 27 views
0

是否有一個內置的FxCop規則,用於分析不必要的拳擊/取消打拳?內置FxCop規則,以避免不必要的拳擊和拆箱

以下示例顯示了一種方法WeaklyTyped,它違反了規則和方法StronglyTyped,該方法滿足規則。

using System; 

namespace PerformanceLibrary 
{ 
    public interface IWork 
    { 
     object DoWork(); 
    } 

    public class Work : IWork 
    { 
     object IWork.DoWork() 
     { 
      return 3; 
     } 

     public int DoWork() 
     { 
      return 3; 
     } 
    } 

    public class NeedsWork 
    { 
     public void WeaklyTyped() 
     { 
      IWork iwork = new Work(); 
      // The following call violates the rule. 
      int x = (int)iwork.DoWork(); 
     } 

     public void StronglyTyped() 
     { 
      Work work = new Work(); 
      int x = work.DoWork(); 
     } 
    } 
} 
+0

你能舉個例子嗎? – 2012-08-07 10:13:16

+1

我不確定你的意思是「不必要」,你可以擴展嗎? – AakashM 2012-08-07 12:33:03

回答

0

曾經有過這樣的規則,但現在已經不在FxCop的當前版本中。

您可以使用工具BoxCop,但它不能很好地集成到構建過程中。