用于避免不必要的装箱和拆箱的内置 FxCop 规则
Posted
技术标签:
【中文标题】用于避免不必要的装箱和拆箱的内置 FxCop 规则【英文标题】:Built-in FxCop rule for avoiding unnecessary Boxing and Unboxing 【发布时间】:2012-08-07 10:06:15 【问题描述】:是否有内置的 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();
【问题讨论】:
你能举个例子吗? 我不确定你这里的“不必要”是什么意思,你能扩展一下吗? 【参考方案1】:过去有一个规则,但现在的 FxCop 版本中不再适用。
您可以使用工具BoxCop,但这并不能很好地集成到构建过程中。
【讨论】:
以上是关于用于避免不必要的装箱和拆箱的内置 FxCop 规则的主要内容,如果未能解决你的问题,请参考以下文章