在SOLIDWORKS API文档中明确声明,为了将.NET字符串数组封送回SOLIDWORKS,您必须使用BStrWrapper类。它还针对C#应用程序声明了这一点,而没有提及VB.NET?有什么理由吗?谢谢。
答案 0 :(得分:1)
我对VB.net不太熟悉,但是我认为这是因为C#和VB.NET中的转换规则不同。 在下面,您引用的方法看起来(在C ++中):
virtual HRESULT __stdcall raw_RemoveExternalDocuments (
/*[in]*/ VARIANT DocumentNames,
/*[out,retval]*/ VARIANT_BOOL * Retval ) = 0;
或更美观:
VARIANT_BOOL RemoveExternalDocuments (const _variant_t & DocumentNames );
C#需要使用BStrWrapper,因为它会将字符串封送为VARIANT see MS doc。而且看起来VB.NET可以隐式完成它。