I'd like to use a default parameter value of IntPtr.Zero in a function that takes an IntPtr as an argument. This is not possible as IntPtr.Zero is not a compile time constant.
Is there any way I can do what I want?
Somewhat unintuitive, to put it mildly, you get it by using the new operator:
    void Foo(IntPtr arg = new IntPtr()) { 
    }
That was for fun, you probably enjoy this one better:
    void Foo(IntPtr arg = default(IntPtr)) { 
    }
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With