我有两种方法:
public void Method1(object[] args); // In Class A
public void Method2(string a, SomeClass b); // In Class B
和2类:
public class SomeClass {}
public class FromSomeClass : SomeClass {}
我使用 Roslyn 分析的代码:
var c = new FromSomeClass();
Method1("a", c);
我想分析 Method1 Call 并检查它是否也是有效的 Method2 Call,意思是:
Method2("a", c); // will this run ok?
我到了从语义模型(IParameterSymbol)中获得 Method2 的地步,并且对于调用中的每个参数,我都有 ITypeSymbol。如何检查参数类型是否对此 IParameterSymbol 有效?(继承和隐式转换)?