CA1409: Com visible types should be creatable
A type without a public default constructor cannot be created by COM clients. However, the type can still be accessed by COM clients if another means is available to create the type and pass it to the client (for example, through the return value of a method call).
The rule ignores types that are derived from System.Delegate.
By default, the following are visible to COM: assemblies, public types, public instance members in public types, and all members of public value types.
To fix a violation of this rule, add a public default constructor or remove the System.Runtime.InteropServices.ComVisibleAttribute from the type.