问题
我正在尝试动态获取ParameterInfo中指定的类型的默认值。 _methods [methodName]返回一个MethodInfo对象。
不幸的是,编译器不喜欢default(paramType)中的“paramType”位。我很困惑
错误

例子

object blankObject = null;
foreach (var paramInfo in _methods[methodName].Key.GetParameters())
{
    if (paramInfo.Name == paramName)
    {
        Type paramType = paramInfo.ParameterType;
        blankObject = (object)default(paramType);
    }
}
parameters[i] = blankObject;

最佳答案

实现起来非常简单:

public object GetDefault(Type type)
{
    return type.IsValueType ? Activator.CreateInstance(type) : null;
}

09-30 23:34