1

我有一种方法可以基于反射返回任何类型的默认值,如下所示

private object getDefault(Type type) 
{
    object defaultValue = null;
    //I have some specific logics here
    defaultValue = getCustomDefaultValues(type);

    //Value types
    if(defaultValue == Type.Missing && type.IsValueType)  
    {       
         defaultValue=  Activator.CreateInstance(type);  
    }
    //All other types including Ref.        
    return defaultValue == Type.Missing ? "null" : defaultValue;
}   

现在我从经典反射转向 Mono Cecil。所以“类型”将变成“类型定义”。问题是Activator.CreateInstance(type); 不适用于 TypeDefinition。那么还有其他方法可以找到任何类型的默认值吗?或任何现有的简单方法来获取塞西尔类型的默认值?

4

0 回答 0