Ejemplo n.º 1
0
        public static IEnumerable <ISerializedMember> EnumerateFields(Type type, BindingFlags bindingAttr)
        {
            var fields = type.GetFields(bindingAttr);

            foreach (var field in fields)
            {
                if (!field.IsLiteral && !field.IsInitOnly)
                {
                    ISerializedMember member = null;
                    var attributes           = field.GetCustomAttributes();
                    foreach (var attribute in attributes)
                    {
                        if (attribute is ObsoleteAttribute)
                        {
                            break;
                        }
                        else
                        {
                            var assetAttribute = attribute as AssetAttribute;
                            if (attribute != null)
                            {
                                member = new SerializedField(assetAttribute, field);
                            }
                        }
                    }

                    if (member != null)
                    {
                        yield return(member);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        public static IEnumerable <ISerializedMember> EnumerateProperties(Type type, BindingFlags bindingAttr)
        {
            var properties = type.GetProperties(bindingAttr);

            foreach (var property in properties)
            {
                if (property.CanRead && property.CanWrite)
                {
                    ISerializedMember member = null;
                    var attributes           = property.GetCustomAttributes();
                    foreach (var attribute in attributes)
                    {
                        if (attribute is ObsoleteAttribute)
                        {
                            break;
                        }
                        else
                        {
                            var assetAttribute = attribute as AssetAttribute;
                            if (attribute != null)
                            {
                                member = new SerializedProperty(assetAttribute, property);
                            }
                        }
                    }

                    if (member != null)
                    {
                        yield return(member);
                    }
                }
            }
        }
Ejemplo n.º 3
0
            public SerializableMember(ISerializedMember member)
            {
                if (member == null)
                {
                    throw new ArgumentNullException(nameof(member));
                }

                MemberInfo = member;
                serializer = null;
            }