public W3CEvent Parse(string line, W3CFieldMap fieldMap) { var returnValue = new W3CEvent(); var fieldValueIndex = 0; foreach (var fieldValue in line.Split(' ')) { if (fieldMap.ContainsKey(fieldValueIndex)) { var fieldInfo = fieldMap[fieldValueIndex]; fieldInfo.FieldInfo.SetValue(returnValue, fieldInfo.Convertor.Convert(fieldValue)); } fieldValueIndex += 1; } return(returnValue); }
public W3CFieldMap Parse(string line) { var fieldMap = new W3CFieldMap(); var w3cFields = typeof(W3CEvent).GetFields(); var lineFields = line.Split(' '); var lineFieldsIndex = 0; foreach (var lineField in lineFields) { GetFieldAttributeByName(lineField, w3cFields, (fieldAttribute, fieldInfo) => { fieldMap.Add(lineFieldsIndex, fieldAttribute.Convertor, fieldInfo); }); lineFieldsIndex += 1; } return(fieldMap); }