Pet*_*ter 3 .net c# preprocessor metaprogramming
在各种项目中,我时不时地会遇到 C# 项目中无法使用泛型解决的元编程情况,并且会受益于更强大的元编程工具。我通常采用的解决方案是通过反射解决问题、使用 C++/cli,或者引入自定义 xml/xslt 编译器步骤。
这是否反映了 C# 社区普遍采用的方法,或者是否存在我不知道的有价值的方法,例如广泛使用的第 3 方预处理器?
我不是在要求产品推荐,而是在询问针对这个常见问题的既定通用解决方案。“不,没有”可能是有效且正确的答案。
这是一个公认的差距,多年来经常被搁置,因为 .NET 具有非常好的运行时反射/发出 API,允许运行时元编程解决方案;然而,这存在多个问题,包括:
因此,在 C# 9 时间范围内(但不特定于 C# 9),“生成器”看起来最终会成为一种“事物”。这提供了一个基于 Roslyn 的构建时元编程层,可以通过类似于第三方库今天提供“分析器”的方式进行扩展(生成器和分析器本质上是相似的)。
它可能是您正在寻找的“行业标准”,但它还处于起步阶段。介绍帖子,从 2020 年 4 月开始。
| 归档时间: |
|
| 查看次数: |
501 次 |
| 最近记录: |