一些上下文:我想编写一个类,其中将事物添加到集合的主要方法是通过名为 Add (或类似名称)的方法(或方法)。所以看起来最好的签名是 params object[]。在内部,这个函数必须切换/if-else 它可以接受的所有类型。所以,最初它可以接受这个 object[] 数组,但我可能希望它也接受 object[][] 和 object[][][] 等,然后方法/函数可以在内部变平,所以用户在调用此函数之前不需要这样做。
所以...
是否可以编写一个函数来接受一种对象的各种级别的列表类型? 作为一个附带问题,在设计类的接口时,接受(编辑:从这个问题中脱颖而出,因为已经有足够的事情发生了。)object[]
orIEnumerable<object>
或哪个更好params object[]
?
例如,我正在考虑一个函数,它同时接受/全部object[]
, IEumerable<object>
,并可能进一步嵌套,例如:IEnumerable<IEnumerable<object>>
, object[][]
(以及 on、on 和 on 等)。
这可能吗?