enocheasty 发表于 2010-8-24 14:56:00

[讨论]关于CommandMethod的问题

<p>VB.net 中为什么定义一个命令要用&lt;CommandMethod("CommandName")&gt;_这个结构呢?</p>
<p>我落后了,好久没碰那个了,不记得有这么种做法了,这个是什么意思呢?</p>
<p>我看了.NET的文档,这个CommandMethod应该是Autodesk.AutoCAD.Runtime下面的,但是Runtime下面只找到个CommandMethodAttribute这个类,构造函数是<a href="mk:@MSITStore:D:\Enocheasty\Soft\arxmgd.chm::/Autodesk_AutoCAD_Runtime_CommandMethodAttribute_CommandMethodAttribute@string@string@string@CommandFlags@Type@string@string.html">CommandMethodAttribute.CommandMethodAttribute (string, string, string, CommandFlags, Type, string, string)</a>&nbsp;这种形式的!</p>
<p>那为什么定义命令用&lt;CommandMethod("CommandName")&gt;_这个表达,是说指向一个Sub的首地址吗?</p>
<p>我不明白的是为什么是CommandMethod而不是CommandMethodAttribute,这个词我在整个文档中也没找到。。。</p>
<p>不知道表达清楚了没?</p>
<p>&nbsp;</p>

雪山飞狐_lzh 发表于 2010-8-24 15:25:00

<p>CommandMethodAttribute的基类是Attribute</p>
<p>简单的解释:</p>
<p>先给你的自定义函数加个属性</p>
<p>Cad在加载你的dll的时候再反射出所有的带有该属性的函数</p>
<p>然后在命令堆栈调用该命令的时候去调用对应的函数</p>

enocheasty 发表于 2010-8-24 15:39:00

<p>那意思就是说相当于,比如我定义个CC的命令</p>
<p>&lt;CommandMethod("CC")&gt;_</p>
<p>Public&nbsp;CCx()</p>
<p>。。。</p>
<p>end sub</p>
<p>就是我给CCx这个Sub定义了一个CC的属性??让CAD知道,用CC的话就是去用CCx,这个倒是能理解。</p>
<p>&nbsp;</p>
<p>我是想问,我现有的资料里面都没有讲CommandMethod这个的,这个是CommandMethodAttribute类下面的方法吗?还是属性??</p>
<p>有相关资料吗?</p>
<p>现在.Net 的资料不多,要不是看到有代码示例,我还真不知道定义CommandMethod,我肯定用CommandMethodAttribute了。所以想知道关于这样的情况的同一类用法。。。</p>
<p>&nbsp;</p>

雪山飞狐_lzh 发表于 2010-8-24 15:45:00

<p><font face="Verdana"><a href="http://sifang2004.cnblogs.com/archive/2006/01/12/316313.html">http://sifang2004.cnblogs.com/archive/2006/01/12/316313.html</a></font></p>
<p>因为这个是.Net的基础,呵呵</p>

enocheasty 发表于 2010-8-24 15:51:00

<p>非常感谢!我问的就是这个。。。</p>
<p>.NET的新东西啊。我说老VB里面怎么没这个。看不懂啊!!</p>
页: [1]
查看完整版本: [讨论]关于CommandMethod的问题