Можно задать параметру тип ICollection, но тогда у переданной коллекции в методе не будет метода RemoveAt, который есть у интерфейса IList.
Мне посоветовали сделать свой интерфейс:
Public Interface IMyCollection
Inherits ICollection, IList, IEnumerable
End Interface
И указавать в качестве типа коллекции его, например:
Public Sub asdf(Collection As IMyCollection)
End Sub
Я так и сделал, приложение прекрасно скомпилировалось
, но в процессе выполнения при вызове метода в который надо было передать коллекцию бросило исключение:
"Не удалось привести тип объекта "System.Windows.Forms.ToolStripItemCollection" к типу "IMyCollection"."
Не посоветуте чего-нибудь?
ToolStripItemCollection реализует все эти три интерфейса, но моя IMyCollection ему почему-то не понравилось.