内置FxCop规则,可避免不必要的Boxing和Unboxing

时间:2012-08-07 10:06:15

标签: c# .net fxcop

是否有内置的FxCop规则可以分析不必要的Boxing / UnBoxing?

以下示例显示了一个违反规则的方法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();
        }
    }
} 

1 个答案:

答案 0 :(得分:0)

曾经有过这样的规则,但现在不再是FxCop的当前构建。

您可以使用工具BoxCop但不能很好地集成到构建过程中。