in rd-net/RdFramework.Reflection/ReflectionSerializerVerifier.cs [77:93]
private static bool IsFieldType(TypeInfo typeInfo, bool canBeArray = true)
{
bool IsValidArray()
{
if (!typeInfo.IsArray) return false;
if (typeInfo.GetArrayRank() != 1) return false;
var arrayType = typeInfo.GetElementType().GetTypeInfo();
return IsFieldType(arrayType, false);
}
return typeof(IRdBindable).GetTypeInfo().IsAssignableFrom(typeInfo) ||
IsPrimitive(typeInfo.AsType()) ||
typeInfo.IsEnum ||
canBeArray && IsValidArray() ||
IsNullable(typeInfo, type => IsPrimitive(type) || type.GetTypeInfo().IsEnum);
}