jjzjj

c# - 关于C#中Dispose()和析构函数的两个问题

我有一个关于如何使用Dispose()和析构函数的问题。阅读一些文章和MSDNdocumentation,这似乎是实现Dispose()和析构函数的推荐方式。但是我有两个关于这个实现的问题,你可以在下面阅读:classTesting:IDisposable{bool_disposed=false;protectedvirtualvoidDispose(booldisposing){if(!_disposed)//onlydisposeonce!{if(disposing){//Notindestructor,OKtoreferenceotherobjects}//performclea

c# - 我需要在处理完控件后删除控件吗?

.NET2//dynamictextboxaddingmyTextBox=newTextBox();this.Controls.Add(myTextBox);//...somecode,finally//dynamictextboxremovingmyTextBox.Dispose();//this.Controls.Remove(myTextBox);??isthisneeded小解释当然,如果我Dispose一个控件,我将不再看到它,但无论如何,它在父控件集合中仍将是“Nothing”吗?我还需要按照MSDN的建议,从控件中删除所有处理程序吗? 最佳答案

c# - 如何防止表单对象在关闭时被释放?

我正在使用MDIParent表单。当我关闭它的child时,child的对象就会被释放。有没有办法将子可见性设置为false而不是处置? 最佳答案 默认情况下,当您关闭表单时,它会被丢弃。您必须覆盖Closing事件以防止它发生,例如://UsethiseventhandlerfortheFormClosingevent.privatevoidMyForm_FormClosing(objectsender,FormClosingEventArgse){this.Hide();e.Cancel=true;//thiscancelsth

c# - 是否有为 using 语句实现 IDisposable 的公共(public)对象列表?

我想知道是否有某种备忘单可以让对象与using语句配合得很好...SQLConnection、MemoryStream等更进一步,如果能展示其他“拼图碎片”就更好了,比如您应该如何在using语句括号结束之前实际调用connection.Close()。有这样的东西吗?如果没有,也许我们应该做一个。 最佳答案 也许可以浏览一下我在http://www.lancemay.com/2010/01/idisposable-cheat-sheet/上的帖子.不确定这是否是您要查找的内容,但根据最初的问题,听起来可能是。

c# - 如何在 C# 中等待单个事件,超时和取消

所以我的要求是让我的函数等待第一个实例eventAction来自另一个类和另一个线程,并在我的线程上处理它,允许等待被超时或CancellationToken中断.我想创建一个我可以重用的通用函数。我设法创建了几个选项来满足(我认为)我的需要,但两者似乎都比我想象的要复杂。用法需要说明的是,此函数的示例用法如下所示,其中serialDevice在一个单独的线程上吐出事件:vareventOccurred=Helper.WaitForSingleEvent(cancellationToken,statusPacket=>OnStatusPacketReceived(statusPacke

c# - 在 C# 中处理/关闭 ExchangeService?

我正在使用ExchangeServiceWebServiceAPI(Microsoft.Exchange.WebServices.Data),但找不到任何Close或Dispose方法.是否不需要以某种方式关闭连接?我的方法是这样的:publicvoidCheckMails(){ExchangeServiceservice=newExchangeService(ExchangeVersion.Exchange2007_SP1);IMAPCredentialscreds=newIMAPCredentials();service.Credentials=newNetworkCredenti

c# - socket 的 Shutdown、Disconnect、Close 和 Dispose 到底是做什么的?

针对网络编程新手,很难找到关于这四种方法实际上的作用的简单解释。人们通常只是陈述他们认为在特定情况下关闭套接字的正确方法,而不是每个步骤背后发生的事情。遵循以人为本的哲学,你能解释一下Shutdown、Disconnect、Close和Dispose方法? 最佳答案 安answer在StackOverflow上让我觉得我终于有了一些理解。然后我去测试了一下,这是新手观点的总结。如果我错了,请纠正我,因为这是基于推理,而不是专业知识。关机Shutdown禁用Send和/或Receive方法,具体取决于提供的参数。它不会禁用底层协议(p

c# - 是否应该对 Dispose 方法进行单元测试?

我正在使用C#。是否建议对处置方法进行单元测试?如果是,为什么以及应该如何测试这些方法? 最佳答案 是的,但可能很难。Dispose实现中通常会发生两件事:非托管资源被释放。在这种情况下,很难验证调用的代码,例如Marshal.Release。一个可能的解决方案是注入(inject)一个可以进行处理的对象,并在测试期间将模拟传递给它。一些这样的效果:interfaceComObjectReleaser{publicvirtualRelease(IntPtrobj){Marshal.Release(obj);}}classClassW

c# - 如何删除作为 HttpResponseMessage 的 StreamContent 发送的文件

在ASP.NETwebapi中,我向客户端发送了一个临时文件。我打开一个流来读取文件并在HttpResponseMessage上使用StreamContent。客户端收到文件后,我想删除这个临时文件(没有来自客户端的任何其他调用)客户端收到文件后,将调用HttpResponseMessage的Dispose方法,并且流也会被释放。现在,此时我也想删除临时文件。一种方法是从HttpResponseMessage类派生一个类,覆盖Dispose方法,删除此文件并调用基类的dispose方法。(我还没有尝试过,所以不确定这是否有效)我想知道是否有更好的方法来实现这一点。

java - 为什么在调用 setVisible(false) 和 dispose() 时调用的窗口/组件监听器不同?

我看到的区别是(在JDK1.7上运行):setVisible(false),invokescomponentHiddenbutnotwindowClosed(TheAPIstatesonlyondispose()soit'sOKevenifitirritatesme)但是dispose(),invokeswindowClosedbutnotcomponentHidden短期运行示例代码(MCVE):publicclassJDialogTestextendsJDialog{privatestaticfinallongserialVersionUID=1L;publicJDialogTes