如何解决这个问题"电话不明确......"

时间:2018-04-12 04:16:59

标签: c# .net

我通常知道如何解决这些问题,但是我不知道如何解决这些问题。

我有

new InArgument<IEnumerable<Foo>>(new List<Foo>() { foo })

并且编译器说

  

以下方法或属性之间的调用不明确:   &#39; InArgument.InArgument(T)&#39;和   &#39; InArgument.InArgument(活动)&#39;

我想要的是InArgument<T>.InArgument(T)

我如何消除歧义?

1 个答案:

答案 0 :(得分:0)

您需要将新列表转换为IEnumberable<Foo>

new InArgument<IEnumerable<Foo>>((IEnumberable<Foo>)new List<Foo>() { foo })

您遇到此问题是因为Activity有隐式运算符可以将任何类型转换为Activity,这意味着您的列表可以很容易地成为IEnumerable或Activity。