2012-10-21 17 views

Odpowiedz

26

Nieco nieintuicyjne, delikatnie mówiąc, można dostać go za pomocą operatora nowy:

void Foo(IntPtr arg = new IntPtr()) { 
    } 

To było dla zabawy, prawdopodobnie cieszyć się ten lepszy:

void Foo(IntPtr arg = default(IntPtr)) { 
    } 
+1

O cholera, miałem przeczucie, że "domyślne" może działać, ale nie ma kompilatora w pobliżu, aby sprawdzić - więc grał bezpiecznie. Dobra odpowiedź. –

3

Od IntPtr jest strukturą, można użyć Nullable-of-T?

static void SomeMethod(IntPtr? ptr = null) { 
    var actualPtr = ptr ?? IntPtr.Zero; 
    //... 
} 
Powiązane problemy