gpt4 book ai didi

c# - userControl1.Dispose() 会处理它的所有一次性对象吗?

转载 作者:太空宇宙 更新时间:2023-11-03 22:01:43 26 4
gpt4 key购买 nike

我制作了一个 userControl 库 .. 它包含 NetworkStream、StreamReader、FileStream
那么,当具有此 userControl 的表单关闭时,我是否必须将它们全部处理掉??

我的意思是在 userControl 中没有这样的 Form1_FormClosing(object sender,FormClosingEventArgs e) 那么我应该什么时候处理这​​些流?
userControl1.Dispose() 会处理这个问题吗?

提前致谢:)

最佳答案

UserControl.Dispose() 处理它的 Controls 集合中的组件,但仅此而已。

您可以处理 UserControl.Disposed 事件,或者您可以 properly implement the Dispose pattern .

对于 C# 用户控件,protected override void Dispose(bool disposing) 是在 UserControl1.Designer.cs 中自动创建的。您可以将其修改为:

protected override void Dispose(bool disposing)
{
if (disposing)
{
if (components != null)
{
components.Dispose();
}

// Dispose your streams here
}

base.Dispose(disposing);
}

关于c# - userControl1.Dispose() 会处理它的所有一次性对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9850600/

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