什么是反射等价物:
default(object); //null
当我在运行时之前没有类型时,例如
public void Method(Type type)
{
var instance = type.CreateDefault(); //no such method exists, but I expect there is a way of doing this?
}
什么是反射等价物:
default(object); //null
当我在运行时之前没有类型时,例如
public void Method(Type type)
{
var instance = type.CreateDefault(); //no such method exists, but I expect there is a way of doing this?
}
对于任何引用类型,默认值为空实例。对于任何值类型,都可以通过 获取默认值Activator.CreateInstance
。但是当你有一个名为的变量instance
表明你想要一个实际的实例而不是空引用时......所以虽然你可以这样做:
public object GetDefaultValue(Type type)
{
return type.IsValueType ? Activator.CreateInstance(type) : null;
}
...目前还不清楚这有多大用处。是该类型的默认值,与该类型的默认实例不同。