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); }
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); }