为什么只有 C# 应用程序才需要 BStrWrapper?
Why is BStrWrapper only required for C# application?
在 SOLIDWORKS API 文档中明确指出,为了将 .NET 字符串数组编组回 SOLIDWORKS,您必须使用 BStrWrapper class。它还针对 C# 应用程序说明了这一点,但未提及 VB.NET?这是有原因的吗?谢谢你。
我对 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 可以隐含地做到这一点。
在 SOLIDWORKS API 文档中明确指出,为了将 .NET 字符串数组编组回 SOLIDWORKS,您必须使用 BStrWrapper class。它还针对 C# 应用程序说明了这一点,但未提及 VB.NET?这是有原因的吗?谢谢你。
我对 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 可以隐含地做到这一点。