c# - 如何以非泛型方式获取类型的默认值?

标签 c# default-value

我知道“default”关键字返回静态确定类型的默认值,例如 this question 中所示.

但是,给定一个类型的实例,是否有一种简单的方法动态地获取该类型的默认值? 我在谷歌搜索时发现的唯一方法是 this :

static object DefaultValue(Type myType)
{
    if (!myType.IsValueType)
        return null;
    else
        return Activator.CreateInstance(myType);
}

但我想尽可能避免使用 Activator 类。

最佳答案

为什么要避免使用 Activator?基本上,就是这样做的方式。

我的意思是,您可以编写一个通用方法,然后通过反射调用它,但为了避免 Activator,这是一个非常可怕的“长切”。

关于c# - 如何以非泛型方式获取类型的默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/520290/

相关文章:

java - 初始化字段变量

go - 结构映射的默认值是什么

c# - 什么是线程安全 (C#)? (字符串,数组,...?)

c# - 我怎样才能在 c# .net 中大写单词

c# - 比较 double 值

jquery - attr ('defaultValue' )使用 jQuery 1.6.3 返回未定义

grails - Grails:获取 “Field XXX doesn'具有默认值”

c# - 我的服务应该返回什么接口(interface)? IQueryable,IList,IEnumerable?

c# - 异步任务超时

JQuery ajax调用默认超时值