C# 扩展SafeHandle以在设置句柄时自动调用函数

C# 扩展SafeHandle以在设置句柄时自动调用函数,c#,interop,pinvoke,reference-counting,C#,Interop,Pinvoke,Reference Counting,有没有一种方法可以实现一个SafeHandle类,当其句柄字段设置为有效值时,该类可以自动调用函数?(与销毁SafeHandle时调用Release抽象函数的方式大致相同) 每当我从本机dll引用句柄时,我需要手动调用本机dll函数以增加句柄的引用计数。这不起作用;SafeHandle是一个“magic”类,它从P/Invoke编组系统获得特殊处理。句柄字段由框架自动设置。我自己的类不会从SafeHandle执行的CLR获得特殊处理。CLR对SafeHandle类给予特殊处理。不使用安全手柄是不

有没有一种方法可以实现一个SafeHandle类,当其句柄字段设置为有效值时,该类可以自动调用函数?(与销毁SafeHandle时调用Release抽象函数的方式大致相同)


每当我从本机dll引用句柄时,我需要手动调用本机dll函数以增加句柄的引用计数。

这不起作用;SafeHandle是一个“magic”类,它从P/Invoke编组系统获得特殊处理。句柄字段由框架自动设置。我自己的类不会从SafeHandle执行的CLR获得特殊处理。CLR对SafeHandle类给予特殊处理。不使用安全手柄是不可能得到这种治疗的。我想你已经知道答案了。不管怎样,我把你的问题搞得一团糟。我将删除我的评论以纠正这一点。抱歉,似乎您必须将第一个本机P/Invoke函数包装为一个C#函数,该函数将调用第二个本机increment函数?