关于二次开发中C#类库使用的问题

背景:我正在做一个名为revit的软件的二次开发,根据教程,我先要在VS上新建一个类库,添加revit的两个接口的引用,然后在此类库中写入一些类,生成dll文件,然后就可... 背景:我正在做一个名为revit的软件的二次开发,根据教程,我先要在VS上新建一个类库,添加revit的两个接口的引用,然后在此类库中写入一些类,生成dll文件,然后就可以在revit上运行这个dll(界面如下图),使用类库里面的内容。

根据教程,每一个类都要写成如下形式,而且只有一个Execute这个方法
namespace RivetDevTV
{public class Class1 : IExternalCommand
{ public Result Execute(ExternalCommandData commandData, ref string messages, ElementSet elements)
{编程内容。。。。。
return Result.Failed; }
}
}
我现在的问题是:
一旦我不写public Result Execute这个方法,而是写别的方法比如public void A1(),程序就会报错说:错误 1 “RivetDevTV.Class1”不实现接口成员“Autodesk.Revit.UI.IExternalCommand.Execute(Autodesk.Revit.UI.ExternalCommandData, ref string, Autodesk.Revit.DB.ElementSet)”
但是,我看了一些这个软件的二次开发代码,很多方法都是Void类型,我希望用这些方法,应该如何?
如果一个类中有多个方法,程序究竟是如何运行的?如上面那张图所示,run的只能是类名,而不是方法名。
各位大侠如果对revit不怎么了解,给个解决这俩问题的思路也行哈~
展开
 我来答
zx198799
2014-10-17 · TA获得超过1225个赞
知道小有建树答主
回答量:509
采纳率:100%
帮助的人:279万
展开全部
NowtRowt ,你好。

你现在的情况是你要去开发一个dll,让revit来调用你的dll,当然你得在这个dll中实现相应的接口,也就是这里的IExternalCommand。那么这个IExternalCommand接口里面所有的函数你都得一五一十的去实现。

你的问题不是你“希望用这些方法,应该如何?”,而是你必须实现某些方法让revit用。
更多追问追答
追问
我在网上确实看到了revit二次开发中void类型的方法,也就是说,这些方法可能不是IExternalCommand这个接口的,我可能要换个接口?
追答
revit二次开发中可以有void类型的方法,都是二次开发的程序员写的,换句话说,是你去写的。

本质的问题是,你做二次开发,是你写程序给revit用,不是你去用revit的程序。当然,你写程序的时候也是可以调用revit现有的程序。
灬觺觺diane
2014-10-17 · 超过31用户采纳过TA的回答
知道答主
回答量:145
采纳率:0%
帮助的人:90.2万
展开全部
在具体实现此接口的类没有实现此方法就会出这个错误.你可以再加一个方法,但是保留原有的方法
追问
但是我再加一个方法,如何执行这个方法呢?就是我第二个问题,如果一个类中有多个方法,程序究竟是如何运行的?如上面那张图所示,毕竟run的只能是类名,而不是方法名,不能选择执行的方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式