/// <summary> /// Create wrapper around the property /// </summary> /// <param name="property">Property that shall be wrapped</param> /// <param name="formatProvider"><see cref="IFormatProvider"/> used for parsing and writing</param> /// <returns>Wrapped property</returns> public PropertyTypeWrapper Wrap(PropertyInfo property, IFormatProvider formatProvider) { var key = AttributeWrapperFactory.FromAttributeOrNull(property); return(new CollectionWrapper(property, key ?? property.Name, formatProvider) { Required = key != null }); }
/// <summary> /// Create wrapper around the property /// </summary> /// <param name="property">Property that shall be wrapped</param> /// <param name="formatProvider"><see cref="IFormatProvider"/> used for parsing and writing</param> /// <returns>Wrapped property</returns> public PropertyTypeWrapper Wrap(PropertyInfo property, IFormatProvider formatProvider) { var key = AttributeWrapperFactory.FromAttributeOrNull(property); return(new PossibleValuesWrapper(property, key ?? PossibleValuesRegex.Match(property.Name).Groups["key"].Value, formatProvider) { Required = key != null }); }