0
這是一個延續的問題 Manipulate Error Record in FileHelperFilehelper - 提高,即使使用FieldConverter錯誤
我得知道,如果有錯誤,我們可以把它用空值作爲對上述問題的回答覆蓋。
如果我重寫該值,第一個地方出現錯誤的事實將會丟失。有沒有辦法使用null更新錯誤的值,並且還會在該記錄的erroinfo中引發錯誤?
感謝
這是一個延續的問題 Manipulate Error Record in FileHelperFilehelper - 提高,即使使用FieldConverter錯誤
我得知道,如果有錯誤,我們可以把它用空值作爲對上述問題的回答覆蓋。
如果我重寫該值,第一個地方出現錯誤的事實將會丟失。有沒有辦法使用null更新錯誤的值,並且還會在該記錄的erroinfo中引發錯誤?
感謝
您可以將錯誤的地方自己和他們扔行已被處理後。
public class DateConverter : ConverterBase
{
public override object StringToField(string from)
{
//if you can't convert to date time.. .return null
DateTime date;
if (!DateTime.TryParse(from, out date))
{
ErrorTracker.Add(string.Format("Failed to parse date {0}.", from));
return null;
}
return date;
}
/// etc...
}
public static class ErrorTracker
{
public static List<string> ErrorList = new List<string>();
public static void Add(string errorMessage)
{
ErrorList.Add(errorMessage);
}
public static void Clear()
{
ErrorList.Clear();
}
}
class Program
{
static void Main(string[] args)
{
var engine = new FileHelperEngine<ModelClass>();
ErrorTracker.Clear();
var productRecords = engine.ReadFile(@"C:\whatever.txt");
foreach (var errorMessage in ErrorTracker.ErrorList)
{
Console.WriteLine(errorMessage);
}
Console.ReadKey();
}
}