Example #1
0
        public override IEnumerable <Type> AddSubtypes(IBinarySerializerForHandle serializer, Type type)
        {
            if (type.IsAbstract || type.IsInterface)
            {
                yield break;// can not use new Type[0]
            }
            else
            {
                var fields       = GetFieldInfos(type);
                var fields_array = fields.ToArray();
                serializer.AddClassFieldInfos(type, fields_array);

                foreach (var field in fields_array)
                {
                    yield return(field.FieldType);
                }
            }
        }