当我有一个对象有两个添加方法:C#方法选择选择对象,而不是IEnumerable的<object>传递一个基本类型集合
public void Add(string keyName, object value)
public void Add(string keyName, IEnumerable<object> values)
如果你调用它,并且提供一个对象,它称之为第一个。如果你提供一个IEnumerable,它会调用第二个。但是,如果您提供了一个基本类型的IEnumerable,它会调用第一个。
有没有办法让c#选择第二种方法,并将其放入框中,而不是将数组视为对象?
如果不是,我想我会在第一个add方法中检查它是否是一个原始类型ienumerable并强制它调用第二个方法。
你忘记了任何东西都可以被转换成'object',这就是发生在这里的事 – Rahul
所以这看起来像是一个非常简单的问题,在这个问题中添加一个独立的例子。事实上,这个问题由于缺席而引人注目。 – spender
“如果不是,我想我会在第一个添加方法中检查它是否是一个可枚举的原始类型,并强制它调用第二个方法。” - 你希望如何做到这一点? 'IEnumerable'不可转换为'IEnumerable