• 2024-07-09【Unity】关于IDisposable / 托管资源和非托管资源
    背景最近在做后台快捷键的功能,当应用不被聚焦时,也需要响应快捷键的输入。于是就用到了Win32API里的系统钩子,系统钩子会用到IntPtr去记录hookID,这些资源都是非托管资源,绕过了C#的内存管理系统。在网上搜索了腾讯云社区里关于GlobalKeyBoardHook的文章[1]后作用IDisposable是一
  • 2024-04-03c#非托管资源释放
    前言 c#一般使用托管内存,不用担心资源释放问题。但如果调用操作系统资源,比如文件、窗口的句柄,数据库及网络连接;或者PInvoke调用C++的库。此时,需要程序员手动对这些资源进行管理。其中IDisposable接口,终结器,可以帮助我们封装这一释放过程。官方示例 微软的官方文档如下。
  • 2024-03-0413_.NET 中 IDisposable 接口的作用和使用
    .NET中IDisposable接口的作用和使用IDisposable接口是.NET框架中定义的一个接口,用于释放非托管资源。非托管资源是指由操作系统或其他外部库管理的资源,例如文件句柄、数据库连接和网络套接字。IDisposable接口的作用是提供一种标准的方式来释放非托管资源。这有助
  • 2023-08-24深入理解C#中的IDisposable接口
      在开始之前,我们需要明确什么是C#(或者说.NET)中的资源,打码的时候我们经常说释放资源,那么到底什么是资源,简单来讲,C#中的每一种类型都是一种资源,而资源又分为托管资源和非托管资源,那这又是什么?!  托管资源:由CLR管理分配和释放的资源,也就是我们直接new出来的对象;  非托管资
  • 2023-06-24C#中using的使用方式
    C#中using关键字主要有以下几种方式。1.引入命名空间例如:usingSystem,几乎每个类中都会用到。2.为引入的命名空间起别名using+别名=包括详细命名空间信息的具体的类型usingaClass=NameSpace1.MyClass;usingbClass=NameSpace2.MyClass;优点:当同一个cs引用了
  • 2023-03-30C#: IDisposable接口
    在C#中,IDisposable接口用于释放非托管资源。非托管资源是指由操作系统或其他非托管代码创建的资源,如文件句柄、数据库连接、网络连接等。这些资源不受垃圾回收器的管理,因
  • 2023-03-27C#:C#终结器(析构函数)
    C#终结器是一种特殊的方法,它在对象被垃圾回收之前被调用。它可以用来释放非托管资源,如文件句柄、数据库连接等。在C#中,终结器是通过在类的定义中添加一个名为“~类名”的
  • 2022-11-08小技巧保护你的WPF
    面对懂C++魔法的大佬无效[狗头]此代码用于将snoop窥探到你程序的窗体关闭掉,对方如果把snoop的名称或者窗体名称修改则无效真正阻止snoop之类的程序进行窥探应该保护你程
  • 2022-08-14c#中的using,IDisposable的类型,Dispose方法
    https://www.jb51.net/article/241577.htmusing语句为实现了IDisposable的类型对象调用Dispose方法,using语句能够保证使用的对象的Dispose方法在using语句块结束时被调用,