Roslyn:确定ITypeParameterSymbols是否相等

时间:2015-05-25 15:25:50

标签: c# roslyn

我试图用Roslyn确定两个方法签名是否相等(忽略参数顺序)。当方法包含通用参数时,它变得有些不重要。

我想将AGenericMethodAnotherGenericMethod检测为具有等效签名:

public void AGenericMethod<X>(X someX, int someInt) where X : IEnumerable<int>
{
    //...
}

public void AnotherGenericMethod<Y>(Y someY, int someInt) where Y : IEnumerable<int>
{
    //...
}

对于与X和Y相对应的.Equals(),似乎ITypeParameterSymbols将返回false。

Roslyn中是否有任何现有功能可用于将ITypeParameterSymbols归类为&#39;等效的&#39; (在具有同等约束的意义上)?如果不是,那么实现这个的最佳方法是什么(考虑到约束本身可能是类型参数)?

0 个答案:

没有答案