Proctor 发表于 2022-7-6 22:35:28

无法识别CommanMethod c

您好:我有一个使用Autocad mechanical 2009和创建的应用程序。net api。
 
最近,我在应用程序中添加了一些表单,在这个过程中,我注意到我的一些命令已无法识别。
 
我不知道如何解决这个问题,也不知道为什么会发生这种情况。
 
如有任何想法,我们将不胜感激。
 
谢谢
监考人员

Jeff H 发表于 2022-7-6 22:49:20

当你说只有几个不可识别时,你是否在多个类中定义了命令,而没有每个类的CommandClassAttribute?

Proctor 发表于 2022-7-6 22:55:45

嗨,杰夫:谢谢你的回复。我可能在不止一个地方定义了命令;你能详细解释一下CommandClassAttribute以及我将如何使用它吗?
 
再次感谢,
监考人员

Jeff H 发表于 2022-7-6 22:59:39

加载应用程序时,autocad会从内存中搜索
CommandClassAttribute

<Assembly: CommandClass(GetType(AutoCADVB2012Examples.MyCommands))>-----VB
对于它所连接的每种类型,它都会进行查询
CommandMethodAttribute

<Assembly: CommandClass(GetType(AutoCADVB2012Examples.MyCommands))>-----VB
 
如果未将CommandClassAttribute附加到定义命令的每个类,则它会将找到的第一个类型中的命令注册到CommandMethodAttribute,并且不会查询任何其他类

Proctor 发表于 2022-7-6 23:11:19

杰夫:谢谢你的帮助。
 
我不确定如何将CommandClassAttribute附加到包含我的命令的类:
 
例如。
我有一个名为Product的类,其中包含名为“ClearLeds”的命令
 
--不知何故,这需要转到这里吗?当我把它放在这里,它说的是那个产品。未定义ClearLED。
[/尺寸]
公共类产品
_
公共共享子ClearLED()
--此处输入代码
末端接头
结束类
 
谢谢
监考人员

Proctor 发表于 2022-7-6 23:13:43

我还有一个问题,在不同的类中有多个相同的调用可以吗?e、 g.如果我有一个叫“ClearLeds”的电话,它在产品类中
我还有另一个调用,也称为“ClearLeds”,但这个调用的位置在LineType类下。这样可以吗?
 
谢谢
监考人员

fixo 发表于 2022-7-6 23:24:55

在命名空间之前使用它:
 

<Assembly: CommandClass(GetType(MyProject.Product))>
Namespace MyProject
Public Class Product
----------your rest code is here-----------
End Class
End Namespace

 
查看私人消息
 
此外:在帖子中使用代码标签:
[代码]------此处代码剪贴------

Proctor 发表于 2022-7-6 23:29:36

嗨,菲索:谢谢你的帮助。
 
我把它放在我的名字空间上面。。。现在看起来是这样的;然而,它在流水线上抱怨。。。。当我在…中键入该行时,它表示“键入OurCompanyName.EstimatorFunctions.CL未定义”。。。我得到了智能感知,直到我到达点后。当我输入这个点时,它给我这个“GetType(Ojbect as Type)”
 

<Assembly: CommandClass(GetType(OurCompanyName.EstimatorFunctions.CL))>

Namespace OurCompanyName
Public Class EstimatorFunctions

   <CommandMethod("CL")> _
    Public Shared Sub test()
       'code in here
    End Sub

End Class
End Namespace

 
再次感谢您的帮助,
监考人员

Proctor 发表于 2022-7-6 23:41:10

您好:我经过所有新的开发,找到了调用同一命令的任何地方,从而煞费苦心地解决了这个问题。
 
谢谢你帮助我知道为了解决这个问题而寻找。
我感谢你的帮助。
 
监考人员
页: [1]
查看完整版本: 无法识别CommanMethod c