3.3.1. Доступ к коллекции

Источник здесь. [перевод не проверен];[перевёл Андрей Бушман]

    Доступ к большинству коллекций и контейнеров осуществляется посредством объектов Document или Database. Объекты Document и Database содержат свойство, посредством которого осуществляется доступ к объекту или идентификатору объекта для большинства доступных объектов коллекций (Collection). Например, следующий код определяет переменную и находит объект LayersTable, который является коллекцией слоёв (Layers) в текущем чертеже:

Код VB.NET

   1:  '' Получение текущего документа и запуск менеджера транзакций
   2:  Dim acCurDb As Database = Application.DocumentManager.MdiActiveDocument.Database
   3:  Using acTrans As Transaction = acCurDb.TransactionManager.StartTransaction() 
   4:   
   5:      '' Этот пример возвращает таблицу слоёв базы данных текущего документа
   6:      Dim acLyrTbl As LayerTable
   7:      acLyrTbl = acTrans.GetObject(acCurDb.LayerTableId, _
   8:                                   OpenMode.ForRead) 
   9:      '' Здесь происходит уничтожение объекта транзакции
  10:  End Using

Код C#

   1:  // Получение текущего документа и запуск менеджера транзакций
   2:  Database acCurDb = Application.DocumentManager.MdiActiveDocument.Database;
   3:  using (Transaction acTrans = acCurDb.TransactionManager.StartTransaction())
   4:  {
   5:      // Данный пример возвращает таблицу слоёв базы данных текущего документа
   6:      LayerTable acLyrTbl;
   7:      acLyrTbl = acTrans.GetObject(acCurDb.LayerTableId,
   8:                                   OpenMode.ForRead) as LayerTable; 
   9:       // Здесь происходит уничтожение объекта транзакции
  10:  }

Код VBA / ActiveX

   1:  Dim layerCollection as AcadLayers
   2:  Set layerCollection = ThisDrawing.Layers


Comments