这个问题已经在这里有一个答案:
- 默认(类型)方案相当于 13个回答
什么是反射相当于:
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;
}
......这不是真的清楚这是多么有用的。 的是类型,这是不一样的类型的默认实例的默认值 。