Exemplo n.º 1
0
 bool IsIgnogeMember(MemberInfo memberInfo)
 {
     object[] attributes = memberInfo.GetCustomAttributes(false);
     for (int i = 0; i < attributes.Length; ++i)
     {
         if (attributes[i] is CascadeIgnoreAttribute || attributes[i] is NonSerializedAttribute)
         {
             return(true);
         }
         CascadePropertyAttribute dm = attributes[i] as CascadePropertyAttribute;
         if (dm != null && dm.Ignore)
         {
             return(true);
         }
     }
     return(false);
 }
Exemplo n.º 2
0
        SCustomMemberParams GetMemberParams(MemberInfo memberInfo)
        {
            var prms = new SCustomMemberParams();

            object[] attributes = memberInfo.GetCustomAttributes(false);
            for (int i = 0; i < attributes.Length; ++i)
            {
                //if (string.IsNullOrEmpty(prms.Name))
                //{
                //    DataMemberAttribute dm = attributes[i] as DataMemberAttribute;
                //    if (dm != null && !string.IsNullOrEmpty(dm.Name))
                //        prms.Name = dm.Name;
                //}

                {
                    DefaultMemberAttribute dm = attributes[i] as DefaultMemberAttribute;
                    if (dm != null && !string.IsNullOrEmpty(dm.MemberName))
                    {
                        prms.Name = dm.MemberName;
                    }
                }

                {
                    DefaultValueAttribute dm = attributes[i] as DefaultValueAttribute;
                    if (prms.DefaultValue == null && dm != null)
                    {
                        prms.DefaultValue = dm.Value;
                    }
                }

                CascadePropertyAttribute jp = attributes[i] as CascadePropertyAttribute;
                if (jp != null)
                {
                    if (string.IsNullOrEmpty(prms.Name) && !string.IsNullOrEmpty(jp.Name))
                    {
                        prms.Name = jp.Name;
                    }

                    if (prms.DefaultValue == null && jp.Default != null)
                    {
                        prms.DefaultValue = jp.Default;
                    }
                }

                if (prms.Converter == null)
                {
                    CascadeConverterAttribute conv = attributes[i] as CascadeConverterAttribute;
                    if (conv != null && conv.CustomConverter != null)
                    {
                        prms.Converter = conv.CustomConverter;
                    }
                }
            }

            if (string.IsNullOrEmpty(prms.Name))
            {
                prms.Name        = memberInfo.Name;
                prms.ChangedName = ChangeFieldName(memberInfo);
            }
            else
            {
                prms.ChangedName = prms.Name;
            }

            return(prms);
        }