我有一个带有重载方法的类:
MyClass.DoThis(Action<Foo> action);
MyClass.DoThis(Action<Bar> action);
我希望将lambda表达式传递给Action版本:
我希望传递一个lambda表达式到Action版本:
MyClass.DoThis( foo => foo.DoSomething() );
很遗憾,由于涉及“foo”变量周围的类型推断,Visual Studio无法正确区分
Action<Foo>
和Action<Bar>
版本,因此会引发编译错误:
如何解决这个问题呢?调用以下方法或属性时存在歧义:'MyClass.DoThis(System.Action
<Foo>
)' 和 'MyClass.DoThis(System.Action<Bar>
)'