kdub 发表于 2019-7-14 00:09:55

在图层上选择 ..确保解冻层


**** Hidden Message *****

gile 发表于 2019-7-14 03:05:43

关于编码风格只有2件事:if(layerTable.Has(layerName)==false)让我想起了冗长的VB风格,你永远不会写:if(layerTable.Has(layerName)==true)所以为什么不简单地写:if(!layerTable.Has(layerName))使用(Transaction tr=Active.Database.TransactionManager.StartTransaction ()) {。
尝试{。
foreach(idray中的var id){。
var line=(line)tr.GetObject(id,OpenMode.ForRead, true);。
Active.WriteMessage。
$"\n您选择了:{line.GetType(),名称}长度={line.Length }");。
}。
}。
最后{。
tr.Dispose();。
}。
}在我看来,最终块是无用的,即使发生异常,使用语句也会处理事务,因此,由于您既没有捕获块,try{...}也毫无用处。

kdub 发表于 2019-7-14 03:13:23

翻译错误代码(429):请求 QPS 超过限制。

kdub 发表于 2019-7-14 03:48:43

@gile我喜欢你使用OpenCloseTransaction的选项: 。
var layer = (LayerTableRecord)tr.GetObject(layerTable[“Cabling”], OpenMode.ForRead);。
如果(图层,IsFrozen)。
{。
层,UpgradeOpen();。
层,IsFrozen = false;。
}。
很干净!。

gile 发表于 2019-7-14 09:02:00

翻译错误代码(429):请求 QPS 超过限制。
页: [1]
查看完整版本: 在图层上选择 ..确保解冻层