Option Strict On不允许在vb.net中进行后期绑定

时间:2019-01-07 08:54:30

标签: vb.net late-binding

我正在使用COM接口连接第三部分程序以获取有关我的功能的信息。 (VS2017和Framework 4.7.2)。

我从Visual Studio中收到一个错误:以下函数的“ Option Strict On不允许后期绑定”

'x, y, z, al, be, ga. as an array 
Protected Friend Shared Function GetComputedBRFPos(ByVal bodyElement As IScrBody, ByVal index As Integer) As Array
    Return bodyElement.getComputedBRFPos(p_index:=index)
End Function

它在第3部分工具中有一个文档,我也在写说明。

  

VARIANTList getComputedBRFPos()   
  获取当前的BRF位置,如果不存在求解器,则创建一个隐式求解器。数组元素:x,y,z,al,be,ga。

例如,我要放置另一个正在使用的功能,而该功能不会出现后期绑定错误。

Protected Friend Shared Function Get_sb_node_pos(ByVal bodyElement As IScrBody, ByVal childIndex As Integer) As Array
    Return bodyElement.get_sb_node_pos(p_childIndex:=childIndex)
End Function

这是文档中的描述。

  

VARIANTList get_sb_node_pos(int childIndex)   
获取的所有元素   sb_node_pos作为数组。

我认为这会导致bodyElement.getComputedBRFPos(p_index:=index)“索引”值,但我不知道确切的问题是什么以及如何实现。

1 个答案:

答案 0 :(得分:1)

From the documentation you posted, it seems like bodyElement.getComputedBRFPos doesn't take any parameters. In VB.NET, the () are optional for method without parameters. So your code end up looking like this.

Return bodyElement.getComputedBRFPos()(p_index:=index)

Which doesn't return an array but instead return an element of the array which is of type object.

You should remove the parameter, change the return type or show us the documentation of the method with the parameter you are trying to call.

Return bodyElement.getComputedBRFPos()