我正在使用反射来遍历Type的属性并将某些类型设置为其默认值。现在,我可以对类型进行切换并default(Type)显式设置,但我宁愿一行执行。是否有程序等效的默认值?
Type
default(Type)
使用引用类型时,只需返回null
public static object GetDefault(Type type) { if(type.IsValueType) { return Activator.CreateInstance(type); } return null; }
在较新的.net版本(例如.net标准)中,type.IsValueType需要编写为type.GetTypeInfo().IsValueType
type.IsValueType
type.GetTypeInfo().IsValueType