System.Data.XSDSchema.SetExtProperties C# (CSharp) Method

SetExtProperties() private static method

private static SetExtProperties ( object instance, XmlAttribute attrs ) : void
instance object
attrs System.Xml.XmlAttribute
return void
        private static void SetExtProperties(object instance, XmlAttribute[] attrs)
        {
            PropertyCollection props = null;
            if (attrs == null)
                return;
            for (int i = 0; i < attrs.Length; i++)
            {
                if (attrs[i].NamespaceURI == Keywords.MSPROPNS)
                {
                    if (props == null)
                    {
                        object val = TypeDescriptor.GetProperties(instance)["ExtendedProperties"].GetValue(instance);
                        Debug.Assert(val is PropertyCollection, "We can set values only for classes that have ExtendedProperties");
                        props = (PropertyCollection)val;
                    }
                    string propName = XmlConvert.DecodeName(attrs[i].LocalName);

                    if (instance is ForeignKeyConstraint)
                    {
                        if (propName.StartsWith(Keywords.MSD_FK_PREFIX, StringComparison.Ordinal))
                            propName = propName.Substring(3);
                        else
                            continue;
                    }
                    if ((instance is DataRelation) && (propName.StartsWith(Keywords.MSD_REL_PREFIX, StringComparison.Ordinal)))
                    {
                        propName = propName.Substring(4);
                    }
                    else if ((instance is DataRelation) && (propName.StartsWith(Keywords.MSD_FK_PREFIX, StringComparison.Ordinal)))
                    {
                        continue;
                    }

                    props.Add(propName, attrs[i].Value);
                }
            }
        }// SetExtProperties

Same methods

XSDSchema::SetExtProperties ( object instance, XmlAttributeCollection attrs ) : void