/// <summary> /// Adds an entity to the configuration for this serializer context. /// </summary> /// <typeparam name="T">Type of the entity to add to the context.</typeparam> /// <returns>Configuration object for the entity type <typeparamref name="T"/>.</returns> public XmlComplexTypeConfiguration <T> Entity <T>() where T : class { var entityConfiguration = new XmlComplexTypeConfiguration <T>(this._contextType); this.Entities.Add(entityConfiguration); return(entityConfiguration); }
public static XmlArrayConfiguration HasArray <T, TArrayItem>(this XmlComplexTypeConfiguration <T> configuration, Expression <Func <T, IEnumerable <TArrayItem> > > property) where T : class { var propertyInfo = ReflectionHelpers.GetPropertyInfo(property); var arrayConfig = new XmlArrayConfiguration(propertyInfo); configuration.PropertyConfigurations.Add(arrayConfig); return(arrayConfig); }
public static XmlAttributeConfiguration HasAttribute <T>(this XmlComplexTypeConfiguration <T> configuration, Expression <Func <T, byte> > property) where T : class { var propertyInfo = ReflectionHelpers.GetPropertyInfo(property); var attributeConfig = new XmlAttributeConfiguration(propertyInfo); configuration.PropertyConfigurations.Add(attributeConfig); return(attributeConfig); }
public static XmlElementConfiguration HasElement <T, TElement>(this XmlComplexTypeConfiguration <T> configuration, Expression <Func <T, TElement> > property) where T : class { var propertyInfo = ReflectionHelpers.GetPropertyInfo(property); var elementConfig = new XmlElementConfiguration(propertyInfo); configuration.PropertyConfigurations.Add(elementConfig); return(elementConfig); }
public static XmlAttributeConfiguration HasAttribute <T>(this XmlComplexTypeConfiguration <T> configuration, Expression <Func <T, Nullable <byte> > > property) where T : class { var propertyInfo = ReflectionHelpers.GetPropertyInfo(property); var convertToString = ReflectionHelpers.GetDelegateMethodInfo <Nullable <byte>, string>(StringConversions.ConvertByteToString); var convertFromString = ReflectionHelpers.GetDelegateMethodInfo <string, Nullable <byte> >(StringConversions.ConvertStringToByte); var attributeConfig = new XmlAttributeConfiguration(propertyInfo, typeof(string), convertFromString, convertToString); configuration.PropertyConfigurations.Add(attributeConfig); return(attributeConfig); }