static IEnumerable <SerializedMember> CollectSerializedMembers <TReflectionInfo>(IEnumerable <TReflectionInfo> info, MemberConstructor <TReflectionInfo> constructor)
            where TReflectionInfo : MemberInfo
        {
            foreach (TReflectionInfo member in info)
            {
                BinaryMemberAttribute attribute = member.GetCustomAttribute <BinaryMemberAttribute>();
                if (attribute == null)
                {
                    continue;
                }

                SerializedMember serializedMember = constructor(member, attribute);
                yield return(serializedMember);
            }
        }
 public static SerializedProperty Create(PropertyInfo propertyInfo, BinaryMemberAttribute attribute)
 {
     return(new SerializedProperty(attribute.Order, propertyInfo));
 }
 public static SerializedField Create(FieldInfo fieldInfo, BinaryMemberAttribute attribute)
 {
     return(new SerializedField(attribute.Order, fieldInfo));
 }