text:  documentation for CGContextSetLineDash states that a NULL can be passed for the float[] to indicate that no dashing is desired, i.e., to turn it off. Your documentation is "not yet been entered".
  Your wrapper method is insisting that the second argument be non-null. It crashes with an ArgumentNullException when I try to turn dashing off.
  So is this a bug? Sure looks like it. If not, then how do I turn dashing off?
  I am running the latest Studio 4.0.8
  Looks like a bug, I'll review the documentation.
  Just FYI, I decided to try something that should not work and whose behavior is undefined. I sent in a zero-length array something like this
  MyCGContext.SetLineDash(0, new float[] {}, 0);
  And this worked. Huh!
  There's nothing in [1] saying it should not work, or even be undefined. It's just a more complex way to say it's empty (which means no dashing) as the code is processing 0 element (so the array is never looked at).
  Also since it's non-null it's not caught by Xamarin.iOS and won't throw the ArgumentNullException. That makes it a good workaround until a new, fixed, release is out.
  [1]
  Fixed in 81af7c0217dce290ed93470ff049bcccac61858d (master)
  QA: Unit tests added
  Today we have checked this issue with following builds:
  X.S 4.0.7-1
  Xamarin.iOS 6.3.6-76
  Mono 3.0.11
  And we have followed some steps:
  1. Create iOS application.
  2. Add following code to app delegate
  CGContext context = new CGContext (IntPtr.Zero);
  context.SetLineDash (0, null, 0);
  3. Add following code in appdelegate.cs file :
  using MonoTouch.ObjCRuntime;
  using System.Drawing;
  using MonoTouch.CoreGraphics;
  4. Build the project
  Application build successfully.
  Changing the status to Verified.