集合初始化
关于“集合初始化”的一个提醒,。acDBObjColl,添加(ACL ine 1);。
acDBObjColl,添加(ACL ine 2);。
acDBObjColl,add(ACC IRC 2);。
acDBObjColl,添加(ACM text 4);。
由于c#6可以成为 DBObjectCollection acDBObjColl = new DBObjectCollection 。
{。
acLine1,。
acLine2,。
acCirc2,。
acMtext4。
};。
我们也可以在using语句中构造时使用它:但是我认为它可能会导致混淆,所以我不会使用它。 //创建一个位于2,3处、半径为4.25的圆。
使用(Circle acCirc = new Circle。
{。
Center = new Point3d(2,3,0),。
半径= 4.25。
})。
{。
//将新对象添加到块表记录和事务中。
acModelSpaceRec,append entity(ACC IRC);。
acTrans,AddNewlyCreatedDBObject(acCirc,true);。
。
。
这会编译成以下内容,有趣的是编译器是如何打乱(反编译/反射)代码的 。
public static void copy single()。
{。
Document Document = application . get _ Document manager(),get _ MdiActiveDocument();。
Database Database = document . get _ Database();。
使用(Transaction Transaction = database . get _ Transaction manager(),StartTransaction())。
{。
BlockTableRecord记录=事务,GetObject((事务,GetObject(database . get _ block table id(),0) 。
作为块表),get_Item(BlockTableRecord,模型空间),1) 。
作为BlockTableRecord。
Circle 1 = new Circle();。
circle 1 . set _ Center(new point 3d(2.0,3.0,0.0));。
circle 1 . set _ Radius(4.25);。
使用(Circle circle = circle1)。
{。
记录,AppendEntity(圆形);。
交易AddNewlyCreatedDBObject(圈,真);。
Circle circle2 =圆形,将()克隆为圆形;。
circle 2 . set _ Radius(1.0);。
记录,append entity(circle 2);。
交易AddNewlyCreatedDBObject(circle 2,true);。
}。
。
交易commit();。
}。
} 。
。
回到这个话题,我想起了“使用它或失去它”这句格言...湿灰色的东西不保存我们不经常使用和强化的知识。。
**** Hidden Message *****
页:
[1]