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()
{
}
}