コード例 #1
0
        /// <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.");
        }
コード例 #2
0
ファイル: CsvParserBuilder.cs プロジェクト: yamahix/NCsv
        /// <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.");
        }