【问题标题】:Equivalent of default(T) using reflection [duplicate]使用反射等效于默认(T)[重复]
【发布时间】:2011-06-01 11:25:48
【问题描述】:

可能重复:
C# - Programmatic equivalent of default(Type)

Type 类(或其他地方)中是否有可用于查找 default(T) 值的方法或属性?

【问题讨论】:

标签: c# reflection default-value


【解决方案1】:

只需检查type.IsValueType;如果这是真的,请使用Activator.CreateInstance(type) - 否则为空。

您可以在 PropertyInfo 或 FieldInfo 上将 null 传递给 SetValue 也很有帮助,它适用于值类型,甚至适用于 int、float 等。

【讨论】:

    【解决方案2】:
    object obj = type.IsValueType ? Activator.CreateInstance(type) : null;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多