小编典典

默认(类型)的编程等效项

all

我正在使用反射来循环
aType的属性并将某些类型设置为默认值。现在,我可以对类型进行切换并default(Type)显式设置,但我宁愿在一行中完成。是否存在与默认程序等效的程序?


阅读 75

收藏
2022-03-08

共1个答案

小编典典

  • 如果是值类型,请使用Activator.CreateInstance,它应该可以正常工作。
  • 使用引用类型时只返回 null

    public static object GetDefault(Type type)
    {
    if(type.IsValueType)
    {
    return Activator.CreateInstance(type);
    }
    return null;
    }

在 .net 标准等较新版本的 .net 中,type.IsValueType需要写为type.GetTypeInfo().IsValueType

2022-03-08