예제 #1
0
    static bool ParseLineToObject(string line, Dictionary <string, int> fieldDictionary, FieldInfo[] fieldInfos,
                                  object targetObject, bool strict)
    {
        string[] values = EnumerateCSVLine(line).ToArray();
        bool     setAny = false;

        foreach (string field in fieldDictionary.Keys)
        {
            int index = fieldDictionary[field];
            if (index < values.Length)
            {
                string value = values[index];
                setAny = SetField(field, value, fieldInfos, targetObject) || setAny;
            }
            else if (strict)
            {
                LogExtension.Warning(string.Format("CSVParser : {0}번째 줄을 파싱하는데 Fields가 충분하지 않습니다.", line));
            }
        }
        return(setAny);
    }