这个问题已经有了答案:
所以在代码中给定一个静态类型,您可以
var defaultMyTypeVal = default(MyType);
如果给定一个类型为的变量,那么如何执行相同的操作,以便在运行时使用它?
换句话说,我如何在不使用大量if语句或使用泛型的情况下实现以下方法(因为我在编译时不知道我要传递给方法的类型)?
public object GetDefaultValueForType(Type type) { .... }
从 this 职位:
public object GetDefaultValue(Type t) { if (t.IsValueType) { return Activator.CreateInstance(t); } else { return null; }