Programming AutoCAD® with C#: Best Practices, AU2011, by Scott McFarlane
BlockTableRecord.Cast<ObjectId> -> IEnumerable<ObjectId>
ObjectIdCollection.Cast<ObjectId> -> IEnumerable<ObjectId>
Bad Coding Practices In the AutoCAD .NET API
Iterating through block definitions by name
Looking for feedback: Looking through the viewport
Easy way to get attributes from blocks
"From ILSpy, ... every single call to this method results in the creation of a managed wrapper for the Database that contains the ObjectId, and then a call to it's TransactionManager.TopTransaction properties, to get the top transaction, whose GetObject() method is then called."
Quick & Easy Managed Wrapper Type Discovery from ObjectIds
ObjectId.GetObject must within UsingTransaction
UsingTransaction cannot embed in another UsingTransaction