C#:如何找到运行时类型的默认值?

C#:如何找到运行时类型的默认值?,c#,strong-typing,C#,Strong Typing,因此,给定代码中的静态类型,您可以 var defaultMyTypeVal = default(MyType); 如果给定一个类型为的变量,那么您将如何在运行时使用它 换句话说,我如何在没有一堆if语句或使用泛型的情况下实现下面的方法(因为我不知道在编译时传递给方法的类型) 发信人: 我已经在下面的帖子中回答了这个问题:希望这有帮助。。。做记号 public object GetDefaultValueForType(Type type) { .... } public object

因此,给定代码中的静态类型,您可以

var defaultMyTypeVal = default(MyType);
如果给定一个类型为的变量,那么您将如何在运行时使用它

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

发信人:


我已经在下面的帖子中回答了这个问题:希望这有帮助。。。做记号
public object GetDefaultValueForType(Type type) {
  ....
}
public object GetDefaultValue(Type t)
{
    if (t.IsValueType) {
        return Activator.CreateInstance(t);
    } else {
        return null;
}