用于将委托(delegate)转换为非托管代码的文档指出,我有责任防止自己收集它。我想知道在非托管调用正在直播时是否无法收集代表。例如,如果我这样做

UnmanagedFunction(arg => somebody);

UnmanagedFunction不会在调用之外存储函数指针。这应该合法,对吗? UnmanagedFunction正在执行时,CLR无法收集。

最佳答案

根据CLR Inside Out: Marshaling between Managed and Unmanaged Code:



看来你还好。

既然你明确提到



文章的下一段



不适用。

关于c# - 防止非托管函数指针垃圾回收,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17251754/

10-09 07:00