protected EveryProtocol(IntPtr handle, SwiftMetatype classHandle, SwiftObjectRegistry registry) { if (SwiftNativeObjectAttribute.IsSwiftNativeObject(this)) { object_flags |= SwiftObjectFlags.IsDirectBinding; } class_handle = classHandle; SwiftObject = handle; registry.Add(this); }
protected BaseAssociatedTypeProxy(IntPtr handle, SwiftMetatype classHandle, SwiftObjectRegistry registry) { if (SwiftNativeObjectAttribute.IsSwiftNativeObject(this)) { object_flags |= SwiftObjectFlags.IsDirectBinding; } class_handle = classHandle; SwiftObject = handle; if (IsCSObjectProxy) { registry.Add(this); } }
protected virtual void Dispose(bool disposing) { if ((object_flags & SwiftObjectFlags.Disposed) != SwiftObjectFlags.Disposed) { if (disposing) { DisposeManagedResources(); } SwiftObjectRegistry.Registry.RemoveAndWeakRelease(this); DisposeUnmanagedResources(); object_flags |= SwiftObjectFlags.Disposed; } }