Miguel - I saw that you added a handwritten method for SendSynchronousRequest.  I understand the motivation for this but in general I do not think we want to hand write methods that use NSError**.  And as written it does not function.<div>
<br></div><div><div>The ByRefPostProcessing change I already submitted for generator.cs works for binding NSError** as out NSError.  However it has one side affect that you cannot choose to ignore the parameter.  Which I believe was at least part of the motivation for the handwritten method.</div>
</div><div><br></div><div>I have the beginnings of a modification to generator.cs to bind NSError** as ref NSError, instead of out NSError.  With this you are required to pass in an object, but if you pass null the parameter is ignored.</div>
<div><br></div><div><div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">            NSURLResponse respUrl;</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">            NSError respErr = new NSError(NSObjectFlag.Empty);</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">            NSData data = NSUrlConnection.SendSynchronousRequest(m_urlReq, out respUrl, ref respErr);</font></div>
</div></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div><div>Technically all Type** arguments should then be bound as ref.  Which I think is less than ideal.  As you have to create a dummy C# object that is then replaced.  Though as bindings are added we can choose to use either out or ref depending on context.</div>
<div><br></div><div>So there are two solutions that I see:</div><div><ol><li>use with the current ByRefPostProcessing of out, which means the parameter is never ignored</li><li>add code to supporting binding by ref as well as by out</li>
</ol><div>I think it is sufficient to go with #1.  I cannot think of a huge advantage to providing #2.  And requiring the use of NSObjectFlag.Empty seems cumbersome.</div></div><div><br></div><div>For now I have commented out Foundation/NSUrlConnection.cs (as it prevents the binding from compiling).  And I am using this binding in foundation.cs:</div>
<div><br></div><div><div>                [Static, Export (&quot;sendSynchronousRequest:returningResponse:error:&quot;)]</div><div>                NSData SendSynchronousRequest (NSUrlRequest request, out NSUrlResponse response, out NSError error);</div>
</div><div><br></div><div>And everything works as expected.</div><div><br></div><div>If you want to go with #2 I can finish that code and submit a patch.  Let me know.</div><div><br></div><div>Thanks,</div><div>Duane</div>