摘要: 诊断的含义 通过自己的逻辑代码判断动态编译的代码是否有问题,有问题时需要告诉编译器有警告或者错误,让编译器返回来向我们展示我们期望的诊断信息。 因为动态编译时编译器无法得知我们写入是否有问题,从而产生很多奇奇怪怪的错误提示。 使用场景 当代码写好了,准备编译生成时,我们无法判断动态生成的代码是否存在 阅读全文
posted @ 2023-03-20 17:47 摧残一生 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 我们经常会遇到,原有代码中新增方法,扩展我们自己写的代码。这个使用Source Generator也可以实现 在上一章的接触上新增类库(AugmentingGeneratorMethod) 添加Microsoft.CodeAnalysis.Analyzers 和 Microsoft.CodeAnal 阅读全文
posted @ 2023-03-20 17:04 摧残一生 阅读(86) 评论(0) 推荐(1) 编辑
摘要: 上一篇讲解了如何直接调用静态方法,而有时候我们会生成cs文件或其他格式的文件,进而使用Source Generator编译。本例中就对资源文件进行编译进行举例说明。 在Source Generator调用的基础上,创建一个新的类库项目(SourceGeneratorXmlMethod) 在项目上添加 阅读全文
posted @ 2023-03-20 16:03 摧残一生 阅读(122) 评论(0) 推荐(1) 编辑
摘要: 创建一个控制台项目(SourceGeneratorConsole) 切记不要使用顶级语句 创建一个类库项目(SourceGeneratorStaticMethod),选择netstandard2.0平台 在类库项目中引用Microsoft.CodeAnalysis.CSharp(4.4.0)和Mic 阅读全文
posted @ 2023-03-20 14:57 摧残一生 阅读(92) 评论(0) 推荐(0) 编辑