Reg:.net中的托管对象和本机资源

| 当我阅读有关msdn中的处理方法文档时,我遇到了这条线。 这里。在解释中给出了一行,指出主要在使用本机资源的托管对象和公开.NET Framework的COM对象上使用Dispose方法。 谁能用一些例子解释什么是托管对象,它们在哪里使用以及什么是本机资源。 提前致谢     
已邀请:
当您编写Win32应用程序时,您将负责管理内存。如果您分配内存,则您有责任释放它,否则您的程序将发生内存泄漏。 简而言之,公共语言运行时(即运行.NET应用程序的一个“程序”)负责为您管理内存。创建对象时:
var myInstance = new MyObject();
您不负责销毁该对象及其消耗的内存资源。在任何.NET程序(C#,F#,VB.NET ...)上创建上述对象时,都在创建托管对象。 但是,您的对象,即使是托管对象,也可能直接操纵内存并分配非托管资源。 C#具有称为不安全的作用域,以允许进行低级内存操作。此外,您的程序可能会与.NET以外的资源进行交互,例如Windows注册表或在程序执行期间创建和删除临时文件。你看? .NET CLR无法为您管理这些资源。因此,在程序完成时处置是您的责任。这就是为什么您应该实现IDisposable。 如果需要示例,请查看哪些类实现了IDisposable。 SqlConnection是其中之一。有几种。     

要回复问题请先登录注册