0d95c4a5b9
* Ensure all `DisposableObject` subclasses have an implementation based on their `Handle` property and not relying on `System.Object` default. E.g. `CFArray`, `CFString`... * Reduce code duplication for the few subclasses that have overrides doing just the same, e.g. `Class`, `Selector` Types subclassing `NativeObject` that had `Equals` and `GetHashCode` overridden * CoreFoundation.CFRunLoop * CoreFoundation.DispatchObject (and DispatchQueue subclass) * CoreGraphics.CGColor -> special case with it's own [native equality function](https://developer.apple.com/documentation/coregraphics/1455217-cgcolorequaltocolor) [1] * CoreGraphics.CGPath -> special case with it's own [native equality function](https://developer.apple.com/documentation/coregraphics/1411167-cgpathequaltopath) [1] * Security.SecPolicy [1] this is a **BUG** since `Equals` can return `true` while `GetHashCode` returns different values !?!?! > Two objects that are equal return hash codes that are equal. https://docs.microsoft.com/en-us/dotnet/api/system.object.gethashcode?view=net-6.0 I'm not sure how to get a good _fast_ hash code... > However, the reverse is not true: equal hash codes do not imply object equality, because different (unequal) objects can have identical hash codes. but returning a constant if fast and valid - even if it looks funky. Subclasses that did not have `Equals` and `GetHashCode` implemented * VideoToolbox.VTFrameSilo * VideoToolbox.VTMultiPassStorage * VideoToolbox.VTSession * SystemConfiguration.NetworkReachability * Security.SecCertificate * Security.SecIdentity * Security.SecKey * Security.SecAccessControl * Security.SecCertificate2 * Security.SecIdentity2 * Security.SecProtocolMetadata * Security.SecProtocolOptions * Security.SecTrust * Security.SecTrust2 * Security.SslContext * Network.NWAdvertiseDescriptor * Network.NWBrowseResult * Network.NWBrowser * Network.NWBrowserDescriptor * Network.NWConnection * Network.NWConnectionGroup * Network.NWContentContext * Network.NWDataTransferReport * Network.NWEndpoint * Network.NWError * Network.NWEstablishmentReport * Network.NWFramer * Network.NWInterface * Network.NWListener * Network.NWMulticastGroup * Network.NWParameters * Network.NWPath * Network.NWPathMonitor * Network.NWPrivacyContext * Network.NWProtocolDefinition * Network.NWProtocolMetadata * Network.NWProtocolOptions * Network.NWProtocolStack * Network.NWResolutionReport * Network.NWResolverConfig * Network.NWTxtRecord * Network.NWWebSocketRequest * Network.NWWebSocketResponse * MediaToolbox.MTAudioProcessingTap * ImageIO.CGImageDestination * ImageIO.CGImageMetadata * ImageIO.CGImageMetadataTag * ImageIO.CGImageSource * CoreVideo.CVBuffer * CoreVideo.CVMetalTexture * CoreVideo.CVMetalTextureCache * CoreVideo.CVPixelBufferPool * CoreText.CTFont * CoreText.CTFontCollection * CoreText.CTFontDescriptor * CoreText.CTFrame * CoreText.CTFramesetter * CoreText.CTGlyphInfo * CoreText.CTLine * CoreText.CTParagraphStyle * CoreText.CTRun * CoreText.CTRunDelegate * CoreText.CTTextTab * CoreText.CTTypesetter * CoreMedia.CMBlockBuffer * CoreMedia.CMBufferQueue * CoreMedia.CMFormatDescription * CoreMedia.CMMemoryPool * CoreMedia.CMSampleBuffer * CoreMedia.CMClockOrTimebase * CoreGraphics.CGColorConversionInfo * CoreGraphics.CGColorConverter * CoreGraphics.CGColorSpace * CoreGraphics.CGContext * CoreGraphics.CGDataConsumer * CoreGraphics.CGDataProvider * CoreGraphics.CGFont * CoreGraphics.CGFunction * CoreGraphics.CGGradient * CoreGraphics.CGImage * CoreGraphics.CGLayer * CoreGraphics.CGPDFContentStream * CoreGraphics.CGPDFDocument * CoreGraphics.CGPDFOperatorTable * CoreGraphics.CGPDFPage * CoreGraphics.CGPDFScanner * CoreGraphics.CGPattern * CoreGraphics.CGShading * CoreFoundation.CFBundle * CoreFoundation.CFAllocator * CoreFoundation.CFArray * CoreFoundation.CFBoolean * CoreFoundation.CFData * CoreFoundation.CFDictionary * CoreFoundation.CFMachPort * CoreFoundation.CFMessagePort * CoreFoundation.CFNotificationCenter * CoreFoundation.CFPropertyList * CoreFoundation.CFRunLoopSource * CoreFoundation.CFString * CoreFoundation.CFType * CoreFoundation.CFUrl * CoreFoundation.DispatchBlock * CoreFoundation.OSLog * CoreServices.CFHost * AddressBook.ABAddressBook * AddressBook.ABMultiValue<T> * AddressBook.ABRecord * ObjCRuntime.BaseWrapper |
||
---|---|---|
.. | ||
ArrayTest.cs | ||
BundleTest.cs | ||
DispatchBlockTests.cs | ||
DispatchDataTest.cs | ||
DispatchGroupTest.cs | ||
DispatchQueueTest.cs | ||
DispatchTests.cs | ||
MutableString.cs | ||
NativeObjectTest.cs | ||
NetworkTest.cs | ||
NotificationCenterTest.cs | ||
OSLogTest.cs | ||
PropertyListTests.cs | ||
ProxyTest.cs | ||
StringTest.cs | ||
UrlTest.cs |