在 T4 文本模板中调用异步方法?

Posted

技术标签:

【中文标题】在 T4 文本模板中调用异步方法?【英文标题】:Calling Async methods in a T4 text template? 【发布时间】:2020-12-14 18:42:17 【问题描述】:

如何将 T4 文本模板的“main”方法修改为异步并使用 await 调用其他异步方法?

或者我唯一的选择是同步调用这些方法(如果是,最好的方法是什么?)

【问题讨论】:

【参考方案1】:

AFAIK 无法指示 T4 模板以异步模式运行。这使您可以选择执行以下操作,我发现这是从常规方法运行异步方法的最佳方式(它保留了捕获异常的能力):

Task.Run(() => YourMethod(arg)).Wait();

【讨论】:

是的,它确实有效,不是最佳的,但可以,谢谢 it preserves the ability to catch exceptions - 但它是wraps them。

以上是关于在 T4 文本模板中调用异步方法?的主要内容,如果未能解决你的问题,请参考以下文章

T4模板:T4模板之菜鸟篇

T4 模板自动生成带注释的实体类文件 - 只需要一个 SqlSugar.dll

T4模板:T4模板之基础篇

“)预期”在 c# 中使用 t4 文本模板

在 Visual Studio Code 中执行 T4 文本模板

T4模板之菜菜鸟篇