예제 #1
0
        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);
        }
예제 #2
0
        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);
        }