C# Error CS0669 – A class with the ComImport attribute cannot have a user-defined constructor

C# Error

CS0669 – A class with the ComImport attribute cannot have a user-defined constructor

Reason for the Error & Solution

A class with the ComImport attribute cannot have a user-defined constructor.

The COM interop layer in the common language runtime supplies the constructor for classes. Consequently, a COM object can be used as a managed object in the runtime.

The following sample generates CS0669:

// CS0669.cs
using System.Runtime.InteropServices;
[ComImport, Guid("00000000-0000-0000-0000-000000000001")]
class TestClass
{
   TestClass()   // CS0669, delete constructor to resolve
   {
   }

   public static void Main()
   {
   }
}

Leave A Reply

Your email address will not be published. Required fields are marked *

You May Also Like

C# Compiler Error CS0442 – ‘Property’: abstract properties cannot have private accessors Reason for the Error You’ll get this error...
This is a really simple one . Below is a simple example of an enum called “Designation” defined with the...
This blog post explain the usage of the Checked Block in .NET and how you can use them in Visual...