首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FileHelpers库: AfterReadRecord编译错误

FileHelpers库: AfterReadRecord编译错误
EN

Stack Overflow用户
提问于 2013-07-31 13:05:31
回答 1查看 458关注 0票数 0

我希望这里有一个使用FileHelpers库的专家。

我正在使用Nuget的2.9.9稳定版本,并尝试使用AfterReadRecord事件处理程序来测试字段是否为空。

我所拥有的代码如下所示:

代码语言:javascript
复制
public class Test
{
 public class MyClass
 {
  public string Name;
 }

 public static void engine_AfterReadRecord(EngineBase engine, FileHelpers.Events.AfterReadEventArgs<MyClass> e)
 {
  if (String.IsNullOrWhiteSpace(e.Record.Name))
  {
   throw new InvalidDataException("Name is required");
  }
 }

 public void ReadCSV()
 {
  FileHelperEngine engine = new FileHelperEngine(typeof(MyClass));
  engine.Options.IgnoreFirstLines = 1;
  engine.ErrorManager.ErrorMode = ErrorMode.SaveAndContinue;
  engine.AfterReadRecord += new FileHelpers.Events.AfterReadHandler<MyClass>(engine_AfterReadRecord);
 }
}

在ReadCSV文件的最后一行中有一个编译错误。错误是:

代码语言:javascript
复制
Cannot implicitly convert type 'FileHelpers.Events.AfterReadHandler<MyClass>' to
'FileHelpers.Events.AfterReadHandler<object>'

我卡住了。有帮手吗?

杰克

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-31 19:35:03

问题是,您使用的引擎版本不使用泛型,而是在处理程序中使用泛型。

试着用这个:

代码语言:javascript
复制
  var engine = new FileHelperEngine<MyClass>();
  engine.Options.IgnoreFirstLines = 1;
  engine.ErrorManager.ErrorMode = ErrorMode.SaveAndContinue;
  engine.AfterReadRecord += new FileHelpers.Events.AfterReadHandler<MyClass>(engine_AfterReadRecord);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17971250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档