给定一个 MethodDeclarationSyntax 对象,我如何找出该方法的声明类型?
我的实际问题是我需要弄清楚引用的方法是否正在实现接口方法。
例如,给定下面的代码,如果我有Dispose()方法的 MethodDeclarationSyntax,如何断定它是 IDisposable.Dispose() 的实现?
using System;
abstract class InterfaceImplementation : IDisposable
{
public abstract void Dispose();
}
我试图获取方法的声明类型(并检查类型)但没有成功(父属性给我返回 InterfaceImplementation 类)。
我还尝试获取该方法的语义符号:
var methodSymbol = (MethodSymbol) semanticModel.GetDeclaredSymbol(methodDeclaration);
但找不到任何可以帮助我的东西。
想法?