private String GetProperyTypeName(Type propertyType)
{
if (propertyType.IsGenericType)
{
if (propertyType.GetGenericTypeDefinition() == typeof(IEnumerable<>))
{
return String.Format("{0} (list)", propertyType.GetGenericArguments().Single().Name);
}
if (propertyType.GetGenericTypeDefinition() == typeof(Nullable<>))
{
return String.Format("{0} (nullable)", propertyType.GetGenericArguments().Single().Name);
}
}
else if (typeof(Byte[]).IsAssignableFrom(propertyType))
{
return "binary";
}
else if (!TypeHelper.CanConvertFromString(propertyType))
{
return String.Format("{0} (object)", propertyType.Name);
}
return propertyType.Name;
}