所以id喜欢找到方法组id隐式转换为委托的地方,例如:
EventHandler a = method;
并将它们与显式委托创建区分开
EventHandler a = new EventHandler(method);
两者的类型信息和转换看起来完全相同。有没有一种方法可以使用语义模型来实现,而无需遍历树并尝试查找父级新对象表达式?
通过遍历二进制表达式节点并查看Right表达式转换,可以大致找到这些位置:
void VisitBinaryExpression(BinaryExpressionSyntax binaryExpression)
{
var conversion = semanticModel.GetConversion(binaryExpression.Right);
if (conversion.IsMethodGroup)
{
}
}
它看起来不是很可靠,但这是我到目前为止发现的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句