c# - 使用 ISyntaxReceiver 获取所有成员,甚至从 ClassDeclarationSyntax 继承一个
问题描述
我正在编写一个源生成器,但我需要获取一个类的所有方法,甚至是继承的方法,ClassDeclarationSyntax 有一个成员列表,其中包含该类的所有方法,但不幸的是,该列表不包括继承的方法。
下面是我为上下文所做的当前代码。
public class ControllerSyntaxReceiver : ISyntaxReceiver
{
public List<ClassDeclarationSyntax> Candidates { get; set; }
public void OnVisitSyntaxNode(SyntaxNode syntaxNode)
{
if (syntaxNode is ClassDeclarationSyntax classDeclaration)
{
var name = classDeclaration.Identifier.ValueText;
if (name.EndsWith("Controller"))
{
Candidates.Add(classDeclaration);
}
}
}
}
解决方案
推荐阅读
- javascript - 我将如何检测何时调用函数?
- javascript - 保持屏幕唤醒离子(失眠)
- windows - 带有 SSL 的 Windows 上的 Kafka
- html - 如何在绝对元素内自动调整相对元素的宽度
- python - 长时间运行时出现 Tweepy 错误
- python - 为什么 Python 只导入一次?
- android - 将标记图标更改为自定义图标 | Mapbox SDK
- python - Spyder 4 中的%reset - 和reset -f 有什么区别?
- python-3.x - While True 循环“if elif”语句的结果
- localhost - shopify主题本地开发的常见工作流程是什么?