gpt4 book ai didi

visual-studio - 在 VS2010 中,如何判断一个类需要被释放?

转载 作者:行者123 更新时间:2023-12-04 06:06:26 24 4
gpt4 key购买 nike

在 Visual Studio 2010 中,是否有一种简单的方法可以知道是否需要处理类型?

例如我写代码:

Collection<Prize> prizes = new Collection<Prize>();

我不 知道 如果我需要调用处理。

我现在处理它的方式是点击 Collection然后按F12,寻找 IDisposable :
public class Collection<T> : IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable

然后我递归地下降到每个类中,看看是否有任何实现 IDisposable :
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
...

Note: Don't confuse the example with the question. i might have the code:

 SqlConnection conn = new SqlConnection();

where i then recusively iterate into ancestor types:

  public sealed class SqlConnection : DbConnection, ICloneable
public abstract class DbConnection : Component, IDbConnection, IDisposable

So i've found that this class needs me to call Dispose. But it would be easier if i didn't have to F12 descend into stuff

最佳答案

如果你有高级版或终极版的代码分析规则CA1001:Types that own disposable fields should be disposable将找到需要处理的类型。要启用代码分析,请转到项目属性并选择代码分析选项卡,选择在构建时启用代码分析,必须包含 Microsoft.Design 规则集才能运行 CA1001 规则。

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

这在速成版中是做不到的。

关于visual-studio - 在 VS2010 中,如何判断一个类需要被释放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8302578/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com