/// <summary> /// <see cref="CsvConverter"/>を返します。<see cref="CsvConverter"/>が存在しない場合は例外をスローします。 /// </summary> /// <param name="property"><see cref="PropertyInfo"/>。</param> /// <returns><see cref="CsvConverter"/>。</returns> private CsvConverter GetConverter(PropertyInfo property) { if (this.converter != null) { return(this.converter); } var converter = DefaultConverters.GetOrNull(property.PropertyType); if (converter != null) { return(converter); } throw new InvalidOperationException("I couldn't find a converter for the property type."); }
/// <summary> /// <see cref="CsvConverter"/>を返します。<see cref="CsvConverter"/>が存在しない場合は例外をスローします。 /// </summary> /// <param name="property"><see cref="PropertyInfo"/>。</param> /// <returns><see cref="CsvConverter"/>。</returns> private static CsvConverter GetConverter(PropertyInfo property) { var a = property.GetCustomAttribute <CsvConverterAttribute>(); if (a != null) { return(a.CreateConverter()); } var converter = DefaultConverters.GetOrNull(property.PropertyType); if (converter != null) { return(converter); } throw new InvalidOperationException("I couldn't find a converter for the property type."); }