Why cann't it delete a layer?
the code :
public void DeleteLayer(string layerName)
{
ObjectId layerId = ObjectId.Null;
Database db = HostApplicationServices.WorkingDatabase;
Transaction trans = db.TransactionManager.StartTransaction();
LayerTable lt = (LayerTable)trans.GetObject(db.LayerTableId, OpenMode.ForWrite, true);
if (lt.Has(layerName))
{
layerId = lt[layerName];
if (lt[layerName].IsErased==false)
{
LayerTableRecord ltr = (LayerTableRecord)trans.GetObject(layerId, OpenMode.ForWrite,true);
ltr.Erase();
}
}
trans.Commit();
trans.Dispose();
}