internal DomainObject(IntPtr handle, AddRef addRef, DelRef delRef, bool preIncremented) { ThrowHelper.ThrowIfNull(addRef, "addRef"); ThrowHelper.ThrowIfNull(delRef, "delRef"); ThrowHelper.ThrowIfZero(handle, "handle"); _addRef = addRef; _delRef = delRef; if (!preIncremented) { ThrowHelper.ThrowIfError(_addRef(handle)); } Handle = handle; lock (_objectsToDispose) { _objectsToDispose.Add(this); } }
internal AbstractAsyncLoadable(IntPtr handle, AddRef addRef, DelRef delRef, bool preIncremented) : base(handle, addRef, delRef, preIncremented) { }