Здравствуйте, sashar2, Вы писали:
S>Пишу я на C# свой COM. Всё впорядке, но за исключением того, что не могу использовать индексаторы в полной мере. Например: объект myCom.obj[2] или myCom.obj(2) (взависимости от языка) я не могу получить. S>Хотя выполняю правильно регистрацию, создаю интерфейсы, присваиваю guid, свойству с индексатором в интерфейсе ставлю аттрибут [DispId(0)], как положено. Но это свойство почему-то правильно работает, только если его вызвать его непосредственно у com объекта: myCom[0] или myCom(0) (если в моем интерфейсе конечно объявлено свойство с индексатором).
Это правильно — индексатор работает с объектом.
S>А вот если пойти дальше по иерархии, то уже никак...
Куда дальше? Сделать myCom.obj[2] как (myCom.obj)[2]? Для этого объект myCom.obj должен в свою очередь обладать индексатором.