![]() |
1
8
对。因为您是通过引用传递路径变量的,所以在重新分配前一个实例时将其“孤立”。使用Dispose()清理是正确的操作。 |
![]() |
2
4
这是一个很难回答的问题。如果消费代码应该负责管理对象的生存期,那么它应该调用Dispose(),而不是您的代码。这样做的原因是,使用代码除了传递给您的代码之外,还可以维护对实例的另一个引用,并且在调用方法之后,它可能期望能够继续使用此引用。 或者,如果类的语义表明它将在对象传递后管理其生存期,那么它应该如您所描述的那样调用Dispose()。 一般来说,当一个对象实现IDisposable时,当您完成它(或在using块中使用引用)后,应该明确地调用它的dipose()方法。 前面已经说过,您可能希望重新审视您的设计,因为它所代表的语义不直观。 |
![]() |
3
0
是的,你可能应该。 如果对象是一次性的,那基本上就是说它有一些资源需要清理(比如打开的文件、数据库或其他东西)。 调用Dispose,清除这些内容(在理想环境中) |
![]() |
4
0
在不讨论函数的优点的情况下,是的-您需要调用Dispose,以便对象能够清理自己沿途分配的资源。 另一个原因-在你分配给它任何东西的时候,你要为它的生命负责,所以你需要在清理之前确保它正在使用的任何东西。 |