C# SolidWorks 二次开发 API---方法中有I和没有I的区别

在api帮助中查找资料的时候,可能大家都会有一些疑问。一个对象有会出现名称差异,功能描述一样的。一个带字母 “I” 一个不带。
如下图,我们之前的代码中最常用的ActiveDoc
在这里插入图片描述
其实api帮助最前面有提到过这个,只是一般人不会从头开始看。
在这里插入图片描述
以及名个语言语法上的区别示例:
在这里插入图片描述

回归正题:
带I的是属于接口,返回的是指定对象的类型,无法直接进行事件访问。
在这里插入图片描述
在这里插入图片描述
看这两个图中,最明显的就是带i的对象中没有小闪电的事件访问。

如果开发中不涉及事件的处理,尽量都使用带I的接口对象,这样不需要进行强制类型转换。
如以前我们经常写的:
获取当前文档

 ModelDoc2 swModel = (ModelDoc2)swApp.ActiveDoc;

就可以写成

 ModelDoc2 swModel = swApp.IActiveDoc2;

当然最简单的肯定是前面直接用var代替:

 var swModel = swApp.IActiveDoc2;

从api帮助第一个内容开始看,你会发现很多知识点都有说明。希望对大家有所帮助。

猜你喜欢

转载自blog.csdn.net/zengqh0314/article/details/109487191