How can I create an instance of an arbitrary Array type at runtime?

CrashCodes picture CrashCodes · Dec 30, 2008 · Viewed 18.3k times · Source

I'm trying to deserialize an array of an type unknown at compile time. At runtime I've discovered the type, but I don't know how to create an instance.

Something like:

Object o = Activator.CreateInstance(type);

which doesn't work because there is no parameterless constructor, Array doesn't seem to have any constructor.

Answer

Jon Skeet picture Jon Skeet · Dec 30, 2008