Поиск типа объявления метода

Учитывая объект MethodDeclarationSyntax, как я могу узнать тип объявления метода?

Моя настоящая проблема заключается в что мне нужно выяснить, реализует ли указанный метод интерфейсный метод или нет.

Например, учитывая приведенный ниже код, если у меня есть MethodDeclarationSyntax для метода Dispose () , как можно сделать вывод, что это реализация IDisposable.Dispose ()?

using System;
abstract class InterfaceImplementation : IDisposable
{
    public abstract void Dispose();
}

Я попытался получить тип объявления метода (и проверить тип) безуспешно (свойство Parent возвращает мне класс InterfaceImplementation).

Я также попытался захватить семантический символ метода:

var methodSymbol = (MethodSymbol) semanticModel.GetDeclaredSymbol(methodDeclaration);

, но не нашел ничего, что могло бы мне помочь.

Идеи?

5
задан svick 17 February 2012 в 22:26
поделиться