, DynamicObject, .
, , , , . :
public class myDynamicClassDataLine : System.Dynamic.DynamicObject
{
string[] _lineContent;
List<string> _headers;
public string this[string indexer]
{
get
{
string result = string.Empty;
int index = _headers.IndexOf(indexer);
if (index >= 0 && index < _lineContent.Length)
result = _lineContent[index];
return result;
}
}
}
,
var csv =
@",,SomeColumn,,,
ab,cd,ef,,,";
var data = new myDynamicClass(csv);
Console.WriteLine (data.OfType<dynamic>().First()["SomeColumn"]);