gpt4 book ai didi

c# - 从 try/catch block 返回 yield

转载 作者:太空狗 更新时间:2023-10-29 20:11:22 26 4
gpt4 key购买 nike

<分区>

正如 Eric Lippert 在 this article 中所描述的那样, yield return 不允许出现在 try/catch 子句中。

有没有一种好的方法我可以获得这样的东西,而不必手动编写我自己的 IEnumerator:

public IEnumerable<Data> GetData()
{
var transaction = Session.BeginTransaction());
try
{
IQuery q = CreateQuery(session);

foreach (var result in q.Enumerable())
yield return ProjectResult(result); // <-- doesn't work

session.Commit();
}
catch (Exception ex)
{
transaction.Rollback();
throw;
}
finally
{
transaction.Dispose();
}
}

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com