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;
     }
 }