ben aşırı yüklenmiş bir yöntemle bir sınıf vardır:Muğlak Çağrı
MyClass.DoThis(Action<Foo> action);
MyClass.DoThis(Action<Bar> action);
ben Eylem sürümüne lambda ifade geçmek istiyorum: Maalesef
MyClass.DoThis(foo => foo.DoSomething());
, Görsel Studio, "foo" değişkenini çevreleyen tür çıkarımı nedeniyle Action<Foo>
ve Action<Bar>
sürümleri arasındaki farkı tam olarak söyleyemez ve bu nedenle bir derleyici hatası oluşturur:
The call is ambiguous between the following methods or properties: 'MyClass.DoThis(System.Action
<Foo>
)' and 'MyClass.DoThis(System.Action<Bar>
)'
Bunun için en iyi yol nedir?