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