我知道“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/