public void RunTransaction (FirestoreUpdateHandler updateHandler, TransactionCompletionHandler completion) { _RunTransaction (InternalUpdateHandler, completion); NSObject InternalUpdateHandler (Transaction transaction, IntPtr pError) { if (updateHandler == null) return null; var result = updateHandler (transaction, out NSError error); if (error != null) Marshal.WriteIntPtr (pError, error.Handle); return result; } }
public void RunTransaction(TransactionUpdateHandler updateHandler, TransactionCompletionHandler completion) { _RunTransaction(InternalUpdateHandler, completion); NSObject InternalUpdateHandler(Transaction transaction, IntPtr pError) { if (updateHandler == null) { return(null); } NSError error = null; var result = updateHandler(transaction, ref error); if (error != null) { Marshal.WriteIntPtr(pError, error.Handle); } return(result); } }