明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1276|回复: 1

[求助]请教goldenshin,C#开发ARX的简单程序

[复制链接]
发表于 2004-4-22 15:07:00 | 显示全部楼层 |阅读模式
// 创建多行文字
[CommandMethod("ASDK", "HelloText", Autodesk.AutoCAD.Runtime.CommandFlags.Modal)]
public static void HelloText()
{
MText text = null;
BlockTable bt = null;
BlockTableRecord btr = null; try
{
Database db = HostApplicationServices.WorkingDatabase;
ObjectId objId = db.BlockTableId;
// 打开块表,注意使用的函数为ObjectId.Open()
bt = (BlockTable)objId.Open(OpenMode.ForRead);
objId = bt.this(BlockTableRecord.ModelSpace);
btr = (BlockTableRecord)objId.Open(OpenMode.ForWrite);
// Create new mtext and set text
text = new MText();
text.SetContents("Hello World!!");
// Append entity to model space
btr.AppendEntity(text);
}
catch
{
// no error checking
}
finally
{
text.Close();
btr.Close();
bt.Close();
}
}
其中的“bt.this”在VB.NET中对应代码为“bt.Item”,但是在C#中this是保留的关键字,因此程序编译出错,但是应该如何调用呢?
 楼主| 发表于 2004-4-23 10:26:00 | 显示全部楼层
本帖最后由 作者 于 2004-4-25 21:11:03 编辑

已经解决这个问题,只要将bt.this换成bt[BlockTableRecord.ModelSpace]即可通过。
这是C#中索引器的使用方法。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 03:44 , Processed in 0.168302 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表