0

我需要在类代码中找到兼容的方法(如果存在)。Roslyn 中是否有一些更简单的方法可以做到这一点,否则我必须比较方法名称、参数的数量和类型。如果我们不必处理参数的非完全限定类型和继承,这没什么大不了的。

4

1 回答 1

1

Roslyn 提供您需要的所有部件。您可能想查看位于 Roslyn 代码库(但它不是公开的)中的SymbolEquivalenceComparer,以获取有关如何进行比较的灵感。您必须自己进行比较检查,但如果您做得对,那应该是 20 行左右的代码。

作为重要说明,请确保您使用的是 Roslyn的语义模型,而不是仅使用语法。您提到了非限定类型——只要您处理语义语法差异,就可以为您处理好。

于 2015-10-29T18:58:47.493 回答