This is the code I use:

```
Type type = /* retrieved Type */
object arg = /* something that evaluates to null */
MyClass obj = (MyClass)Activator.CreateInstance(type, arg);

```

I get a crash, that given constructor doesn't exist on type **type**.

However, when I put this in Watch in Visual Studio 2008:

```
(MyClass)System.Activator.CreateInstance(type, null)

```

it creates the object as usual.

I even tried replacing my code with the one I put in the Watch. It works - object gets created.

My question: what's up with that?

Edit: MyClass ***doesn't*** have any constructors - apart from pregenerated *parameterless* constructor.

Edit 2: Using `new object[0]` instead of `null` still causes the same exception.