0

我环顾四周,找不到最佳实践。我有一个循环,它创建一个对象,然后在每次运行进程时处理它。但是,这个对象总是相同的,每分钟左右在程序中使用一次,这也是程序中其他进程运行的频率。每次运行进程时我应该调用Dispose();这个对象还是只保留它,因为它总是完全相同?语言是 C#。

4

4 回答 4

5

如果它按照您编写的方式工作,那么您似乎不应该更改它。除非对象的创建或销毁成本特别高。但是,如果除了每分钟那段短暂的时间之外,您不需要该对象,为什么还要保留它呢?

这样看。如果该对象仅由该特定任务使用,那么让该任务控制该对象的生命周期会使代码更简单。否则你的主程序将不得不在启动时创建对象并在关闭时处理它。此外,程序中的其他线程或任务可能会访问它。限制对需要它的任务的访问可以防止一大堆其他问题。

于 2013-06-10T13:06:17.090 回答
0

如果初始化需要很长时间,您应该将其保存在某个地方。

根据对象是什么,您可能还需要考虑将其设为单例。 当您有一个需要很长时间初始化的对象和/或该对象在多个地方使用时,单例特别有用。

于 2013-06-10T13:08:17.443 回答
0

仅创建一次对象并在关闭您的应用程序时调用 dispose。这也取决于你在做什么。

于 2013-06-10T13:08:31.810 回答
0

也许您应该查看 using 语句。它在使用后处理对象。 看到这个

这是语法

using (var myObject = new MyCustomObject())
{
//Do something with my object
}
于 2013-06-10T13:13:41.390 回答