C#. Как обратиться к объектам наследования?

Автор Тема: C#. Как обратиться к объектам наследования?  (Прочитано 3904 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн R.I.ChernovАвтор темы

  • ADN Club
  • *****
  • Сообщений: 568
  • Карма: 18
Доброго времени суток, уважаемые форумчане! Помогите пожалуйста решить проблему. В названии темы, наверно, не совсем понятно написано, сейчас поясню:
У меня есть деталь , которая наследует у многих других деталей эскизы, параметры и т.п. Мне необходимо обратиться к одной из этих "многих других" деталей для дальнейшей с ней работы (например вывода имени, как в примере ниже). В VBA я это делал так:
Код - Visual Basic [Выбрать]
  1. Sub TestSub()
  2.     Dim oDoc As Inventor.Document
  3.     Dim oCD As PartComponentDefinition
  4.     Dim oDerivedPtComps As DerivedPartComponents
  5.     Dim oDocDescr As DocumentDescriptor
  6.     Set oDoc = ThisApplication.ActiveDocument
  7.     Set oCD = oDoc.ComponentDefinition
  8.     Set oDerivedPtComps = oCD.ReferenceComponents.DerivedPartComponents    
  9.     Debug.Print oDerivedPtComps.Item("1").Name    
  10. End Sub

Когда попытался сделать аналогичные операции в C#, обнаружил что у коллекции "DerivedPartComponents" не существует "Item" (извиняюсь, не знаю как это назвать и вроде бы не метод, и роде бы не свойство :) ) В общем я не знаю как по порядковому номеру обратиться к члену коллекции "DerivedPartComponents". Помогите пожалуйста решением или советом.

П.С. В C# у меня это выглядит вот так:
Код - C# [Выбрать]
  1. public void TestProgramm()
  2.         {
  3.             Inventor.PartDocument oDoc;
  4.             Inventor.PartComponentDefinition oCD;
  5.             Inventor.DerivedPartComponents oDerivedPtComps;
  6.  
  7.             oDoc = (Inventor.PartDocument)oApp.ActiveDocument;
  8.             oCD = oDoc.ComponentDefinition;
  9.             oDerivedPtComps = oCD.ReferenceComponents.DerivedPartComponents;
  10.         }
А дальше никак...
В программировании я новичок...но ненадолго! ;)

Отмечено как Решение R.I.Chernov 21-03-2016, 15:44:08

Оффлайн R.I.ChernovАвтор темы

  • ADN Club
  • *****
  • Сообщений: 568
  • Карма: 18
Прошу прощения за беспокойство. Пока писал вопрос на форум, придумал на него ответ :)
Быть может кому пригодится. В моем коде в C# не хватает такой вот строки:
Код - C# [Выбрать]
  1. Debug.Print(oDerivedPtComps[1].Name);

Еще раз извиняюсь, не могу пока привыкнуть к C#. Зачастую, на таких вот простых вопросах спотыкаюсь ... на два часа :(
А тут вот напечатал  в сообщении слово "коллекция" и через минуту осенило :)
В программировании я новичок...но ненадолго! ;)