Visual studio 在VS2010中,如何判断需要处理类?

Visual studio 在VS2010中,如何判断需要处理类?,visual-studio,idisposable,Visual Studio,Idisposable,在VisualStudio2010中,是否有一种简单的方法可以知道是否需要处理某个类型 e、 g.我写代码: Collection<Prize> prizes = new Collection<Prize>(); 然后,我递归地进入每个类,查看是否有任何工具IDisposable: public class Collection<T> : IList<T>, ICollection<T>, IEnumerable<T>,

在VisualStudio2010中,是否有一种简单的方法可以知道是否需要处理某个类型

e、 g.我写代码:

Collection<Prize> prizes = new Collection<Prize>();
然后,我递归地进入每个类,查看是否有任何工具
IDisposable

public class Collection<T> : IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable
public class Collection<T> : IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable
   public interface IList<T> : ICollection<T>, IEnumerable<T>, IEnumerable
      public interface ICollection<T> : IEnumerable<T>, IEnumerable
         public interface IEnumerable<T> : IEnumerable
            public interface IEnumerable    
         public interface IEnumerable
      public interface IEnumerable<T> : IEnumerable    
         public interface IEnumerable
      ...
然后我重复迭代到祖先类型:

  public sealed class SqlConnection : DbConnection, ICloneable
      public abstract class DbConnection : Component, IDbConnection, IDisposable
所以我发现这个类需要我调用
Dispose
。但如果我不必进入F12的话,那就容易多了


如果您有premium或ultimate edition,代码分析规则将查找需要处理的类型。若要启用代码分析,请转到“项目属性”并选择“代码分析”选项卡,然后选择“在生成时启用代码分析”,必须包含Microsoft.Design规则集才能运行CA1001规则

来自Devexpress的Coderush包含类似的功能。这是标准版的唯一选项。可能还有其他提供类似功能的加载项


在express edition中无法做到这一点。

VS会抱怨,如果您将using语句与未实现IDisposable的内容一起使用。你能用它吗?或者用智能感知。开始键入“myVariableName.Di”并查看Dispose是否在intellisense中出现。@Daryl我显示的示例代码发生在对象的构造函数中(这意味着我的对象现在将被迫实现
IDisposable
)(tl;dr:它不在
中使用
)@Ian Boyd-我知道这也适用于我的注释。好问题。@IanBoyd基本上你是在寻找VS来突出显示一个对象实例化的行,如果它实现了IDisposable,那么你知道你需要使用using语句吗?添加“Visual Studio不能这样做”,我接受你的回答。插件当然不适用于快速版。
  public sealed class SqlConnection : DbConnection, ICloneable
      public abstract class DbConnection : Component, IDbConnection, IDisposable