我试图在调用该方法的解决方案中找到所有位置IBus.Publish<T>
(来自 NServiceBus)。到目前为止,这是有效的:
IMethodSymbol method = ... [IBus.Publish methodsymbol resolved];
var callers = method.FindCallers(solution, new CancellationToken());
这导致 aIEnumerable<SymbolCallerInfo>
并且我得到了对该方法的所有正确引用。
我现在将如何获得IBus.Publish
调用通用参数的方法?我是否必须手动解析源树,或者它是否存在一些我可以利用的 Roslyn 魔法?
例子:
在我的代码中,我有:
IBus _bus;
_bus.Publish<IMyMessage>(msg => { msg.Text = "Hello world"});
我有兴趣获得IMyMessage
类型。
非常感谢帮助!