Эта статья MSDN содержит пример реализации IListSource в C #. Оттуда должно быть довольно просто выяснить, как это сделать на C ++: msdn.microsoft.com/en-us/library/system.componentmodel.ilistsource.aspx (Добавьте к этому http: //, потому что новый пользователь.)
Похоже, что GetList () должен возвращать новый IList каждый раз. Если IList, который возвращает GetList (), является коллекцией ILists (как мета), то для ContainsListCollection должно быть установлено значение true, в противном случае установите значение false.