gpt4 book ai didi

c# - 如果我的类定义了一个字段,该字段的类型在其中实现了处置模式,我是否应该始终实现处置模式? C#

转载 作者:太空狗 更新时间:2023-10-30 01:31:55 25 4
gpt4 key购买 nike

<分区>

我最近在 Jeffery Richter 的“CLR via C#”中读到了这篇文章;

Important If a class defines a field in which the field’s type implements the dispose pattern, the class itself should also implement the dispose pattern. The Dispose method should dispose of the object referred to by the field. This allows someone using the class to call Dispose on it, which in turn releases the resources used by the object itself.

在下面的例子中会是这样吗?

public class SomeClass
{
private readonly StreamReader _reader; //a disposable class

public SomeClass(StreamReader reader)
{
_reader = reader;
}
}

尽管 StreamReader 是一个一次性类,它的实例已通过构造函数传入,因此它可能会在其他地方被引用,因此在 SomeClass 上实现 IDisposable 以便可以处置 _reader 似乎不是一个好主意。 Jeffery Richter 试图提出的观点是否仅适用于一次性类实例在该类中实例化的类?

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