Create default instance of type
.net, c#, reflection
Solution
For any reference type, the default value is a null instance. For any value type, the default value can be obtained via `Activator.CreateInstance`. But when you have a variable called `instance` that suggests you want an actual instance rather than a null reference... So while you can do this:
public object GetDefaultValue(Type type)
{
return type.IsValueType ? Activator.CreateInstance(type) : null;
}
... it's not really clear how useful this is. The is the default value of the type, which isn't the same as a default instance of the type.
Problem
What is the reflective equivalent of : ``` default(object); //null ``` When I do not have the type until runtime, e.g. ``` public void Method(Type type) { var instance = type.CreateDefault(); //no such method exists, but I expect there is a way of doing this? } ```