IDispatch Object Arrays as Input in .NET
In the .NET framework, an object array can be used for any System.Object
type like integer, double, etc., for system marshaling to a VARIANT automatically.
However, the use of a DispatchWrapper object is required for non-standard
objects like SolidWorks interfaces, which are manipulated through the
IDispatch interface.
Some SolidWorks methods and properties have input objects that must
be marshaled to IDispatch object arrays because System.Object has replaced
VARIANT in the .NET framework. When marshaling System.Object to an IDispatch
object array, you must explicitly control the marshaling behavior by using
the System.Runtime.InteropServices.DispatchWrapper
class.
The following list identifies a few of the SolidWorks methods and properties
that require you to marshal an input object to an IDispatch object array.
Click any link in the list to open that method's or property's Help topic,
which includes links to VB.NET and C# sample code showing how to marshal
an input object to an IDispatch object array.