Class CsvConverterAttribute<TConverter>
- Namespace
- FlameCsv.Attributes
- Assembly
- FlameCsv.Core.dll
Overrides the converter for the target member or parameter.
TConverter
must have a parameterless constructor,
or a public constructor with a single CsvOptions<T> parameter.
public class CsvConverterAttribute<TConverter> : CsvConverterAttribute where TConverter : class
Type Parameters
TConverter
Converter or factory type
- Inheritance
-
CsvConverterAttribute<TConverter>
- Derived
- Inherited Members
Remarks
Converters created this way are distinct from the cached converters in CsvOptions<T>.
The resulting converter is cast to CsvConverter<T, TValue>.
Methods
TryCreateConverterOrFactory<T>(Type, CsvOptions<T>, out CsvConverter<T>?)
Attempts to create a converter for the target member or parameter.
If the configured converter is not for token type T
, this method should return false
.
If the converter is not for the target type, this method should throw a CsvConfigurationException.
protected override bool TryCreateConverterOrFactory<T>(Type targetType, CsvOptions<T> options, out CsvConverter<T>? converter) where T : unmanaged, IBinaryInteger<T>
Parameters
targetType
TypeType to convert
options
CsvOptions<T>Current configuration instance
converter
CsvConverter<T>
Returns
- bool
Converter instance
Type Parameters
T
Exceptions
- CsvConfigurationException
Thrown if
targetType
is not valid for the member, or is not present in the configuration and has no parameterless constructor.