I do not understand your's problem. Try this code:
[code]
// Define Command "TestOpen"
[CommandMethod("TestOpen")]
static public void TestOpen()
{
Document doc = Application.DocumentManager.MdiActiveDocument;
Editor ed = doc.Editor;
PromptEntityResult rse = ed.GetEntity("\nSelect Entity: ");
if (rse.Status == PromptStatus.OK)
{
using (Transaction tr = doc.TransactionManager.StartTransaction())
{
Entity ent = (Entity) tr.GetObject(rse.ObjectId,OpenMode.ForRead);
ed.WriteMessage("\nent.IsReadEnabled = {0}",ent.IsReadEnabled);
ed.WriteMessage("\nent.IsWriteEnabled = {0}",ent.IsWriteEnabled);
ent.UpgradeOpen();
ed.WriteMessage("\nent.IsReadEnabled = {0}",ent.IsReadEnabled);
ed.WriteMessage("\nent.IsWriteEnabled = {0}",ent.IsWriteEnabled);
ent.DowngradeOpen();
ed.WriteMessage("\nent.IsReadEnabled = {0}",ent.IsReadEnabled);
ed.WriteMessage("\nent.IsWriteEnabled = {0}",ent.IsWriteEnabled);
tr.Commit();
}
}
}
[/code]
Results:
[code]
Command: testopen
Select Entity:
ent.IsReadEnabled = True
ent.IsWriteEnabled = False
ent.IsReadEnabled = True
ent.IsWriteEnabled = True
ent.IsReadEnabled = True
ent.IsWriteEnabled = True
[/code]