public object Convert(IConversionRequest request) { var stringValue = request.Text; if (stringValue.ToUpper() == StringConverterStrategy.EMPTY || stringValue.Trim().IsEmpty()) { return Array.CreateInstance(_innerType, 0); } var csvTokenizer = new CsvTokenizer(); csvTokenizer.Read(stringValue); var tokens = csvTokenizer.Tokens.Select(t=>t.Trim()).ToList(); var array = Array.CreateInstance(_innerType, tokens.Count); for (var i = 0; i < tokens.Count; i++) { var value = _inner.Convert(request.AnotherRequest(tokens[i])); array.SetValue(value, i); } return array; }
public CsvReader(IObjectResolver resolver) { _resolver = resolver; _tokenizer = new CsvTokenizer(); }