internal void generateSerializer()
{
if (!cls.IsPublic || defaultConstructor == null || !defaultConstructor.IsPublic)
return;
FieldDescriptor[] flds = allFields;
for (int i = 0, n = flds.Length; i < n; i++)
{
FieldDescriptor fd = flds[i];
switch (fd.type)
{
case FieldType.tpValue:
case FieldType.tpArrayOfValue:
case FieldType.tpArrayOfObject:
case FieldType.tpArrayOfEnum:
case FieldType.tpArrayOfRaw:
case FieldType.tpLink:
case FieldType.tpArrayOfOid:
return;
default:
break;
}
FieldInfo f = flds[i].field;
if (f == null || !f.IsPublic)
return;
}
serializer = serializerGenerator.Generate(this);
}