Transaction と ObjectId

.NET API では、ルートの Civil ドキュメントに対して読み取りや書き込みを行うコードで、Autodesk.AutoCAD.DatabaseServices.TransactionManager オブジェクトを使用してトランザクションを開始してコミットする必要があります。TransactionUsing 文を使用して管理するのがベスト プラクティスです。ブロックの最後にある Transaction が自動的に破棄されます。この文を使用しない場合は、Try-FinallyFinally セクションで Transaction を明示的に破棄する必要があります。Using ブロックの Transaction の例を次に示します。

using (Transaction trans=TransactionManager.StartTransaction())
{
  //operation here
  trans.Commit();
}
注:

図面データベース オブジェクトを 開いたり修正するために Transaction オブジェクトを使用する方法の詳細は、『AutoCAD .NET 開発者用ガイド』の「トランザクション マネージャでトランザクションを使用する (.NET)」を参照してください。

.NET API では、コレクションから取得したオブジェクトは、多くの場合 ObjectId 型で、それらは(TransactionManager.StartTransaction() によって返される) Transaction オブジェクトを使用して目的の型に投じられなくてはなりません。次に例を示します。

m_AligmentStyleId = m_doc.Styles.AlignmentStyles.Item(sStyleName)
oAlignmentStyle = m_trans.GetObject(m_AligmentStyleId, OpenMode.ForWrite) As AlignmentStyle