Marshal.IsComObject(Object) Method

Definition

Indicates whether a specified object represents a COM object.

C#
public static bool IsComObject(object o);

Parameters

o
Object

The object to check.

Returns

true if the o parameter is a COM type; otherwise, false.

Exceptions

Remarks

IsComObject returns true if the class type of the instance is attributed with System.Runtime.InteropServices.ComImportAttribute or if it derives directly or indirectly from a class attributed with ComImportAttribute. The Tlbimp.exe (Type Library Importer) tool applies this attribute for you when it imports a type library.

Two other methods also determine whether a specified object represents a COM object, but the requirements for returning true differ from this method's requirements. Type.IsImport returns true if the class (or interface) is attributed with ComImportAttribute directly; it does not return true for derived types. RegistrationServices.TypeRepresentsComType returns true if the type is attributed with ComImportAttribute or derives from a type with the same GUID.

Applies to

Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

See also