我有一个绑定在 monomac 中的 Cocoa 类。如果我调用Dispose()该类的一个实例,它是否应该总是dealloc在非托管端调用?
dealloc托管类被Dispose()编辑时没有被调用的原因可能是什么?
我有一个绑定在 monomac 中的 Cocoa 类。如果我调用Dispose()该类的一个实例,它是否应该总是dealloc在非托管端调用?
dealloc托管类被Dispose()编辑时没有被调用的原因可能是什么?
Dispose在托管对象上将调用release本机对象,而不是dealloc(但如果没有其他人保留它,它最终可能会解除分配对象)。
请注意,Dispose多次调用只会调用release一次。
更新
这原来是 MonoMac / Xamarin.Mac 中的一个错误(现已修复)。