我有以下扩展方法MessageBus
:
public static class MessageBusMixins
{
public static IDisposable Subscribe<T>(
this IObservable<T> observable,
MessageBus bus)
where T:class
{
...
}
public static IDisposable Subscribe<T>(
this IObservable<Maybe<T>> observable,
MessageBus bus)
{
...
}
}
编译得很好。但是,当我尝试使用它时:
IObservable<Maybe<string>> source = ...;
MessageBus bus = ...;
source.Subscribe(bus);
我得到两个候选方法都不是最具体的错误。但是我认为这Maybe<T>
会比这更具体T
还是不正确?
编辑
它变得更好奇,因为如果我显式调用扩展方法:
MessageBus.SubscribeTo(source, bus);
然后它工作并选择正确的方法。