bool HasExplicitImplementationFor(IMember interfaceMember, IReturnType interfaceReference, INode typeDecl)
{
if (typeDecl == null)
return false;
foreach (INode node in typeDecl.Children) {
MemberNode memberNode = node as MemberNode;
if (memberNode != null && memberNode.InterfaceImplementations.Count > 0) {
foreach (InterfaceImplementation impl in memberNode.InterfaceImplementations) {
if (impl.MemberName == interfaceMember.Name
&& object.Equals(ResolveType(impl.InterfaceType), interfaceReference))
{
return true;
}
}
}
}
return false;
}