Exemplo n.º 1
0
        public IISLogProperties Parse(string line, IISLogPropertiesFieldMap fieldMap)
        {
            var returnValue     = new IISLogProperties();
            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);
        }
Exemplo n.º 2
0
        public IISLogPropertiesFieldMap Parse(string line)
        {
            var fieldMap        = new IISLogPropertiesFieldMap();
            var w3cFields       = typeof(IISLogProperties).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);
        }