【问题标题】:C#: How to find the default value for a run-time Type? [duplicate]C#:如何找到运行时类型的默认值? [复制]
【发布时间】:2011-03-01 20:50:18
【问题描述】:

所以在你的代码中给定一个静态类型,你可以这样做

var defaultMyTypeVal = default(MyType);

如果给定一个 Type 变量,你会如何做同样的事情,以便在运行时使用它?

换句话说,我如何在没有一堆 if 语句或使用泛型的情况下实现以下方法(因为在编译时我不会知道我传递给方法的类型)?

public object GetDefaultValueForType(Type type) {
  ....
}

【问题讨论】:

标签: c# strong-typing


【解决方案1】:

来自this 发帖:

public object GetDefaultValue(Type t)
{
    if (t.IsValueType) {
        return Activator.CreateInstance(t);
    } else {
        return null;
}

【讨论】:

    猜你喜欢
    • 2011-01-30
    • 2016-12-08
    • 2011-02-14
    • 2011-02-10
    • 2013-01-27
    • 2010-09-27
    • 1970-01-01
    • 2010-11-19
    相关资源
    最近更新 更多